React Material-UIグリッドシステムがよくわかりません。ログインにフォームコンポーネントを使用する場合、すべてのデバイス(モバイルおよびデスクトップ)の画面の中心に配置する最も簡単な方法は何ですか?
これはログインページで使用するためです。 Material-UIを使用してログインページで使用したコードを次に示します。
<Grid
container
spacing={0}
direction="column"
alignItems="center"
justify="center"
style={{ minHeight: '100vh' }}
>
<Grid item xs={3}>
<LoginForm />
</Grid>
</Grid>
これにより、このログインフォームが画面の中央に表示されます。
しかし、依然としてIEはMaterial-UI Gridをサポートしていないため、IEでコンテンツの配置が間違っていることがわかります。
これがお役に立てば幸いです。
別のオプションは次のとおりです。
<Grid container justify = "center">
<Your centered component/>
</Grid>
@Nadunのバージョンは私にとっては機能せず、サイジングはうまく機能しませんでした。 direction="column"
を削除するかrow
に変更すると、レスポンシブサイジングで垂直ログインフォームを構築するのに役立ちます。
<Grid
container
spacing={0}
alignItems="center"
justify="center"
style={{ minHeight: '100vh' }}
>
<Grid item xs={6}>
</Grid>
</Grid>
グリッドなしの別のオプションを次に示します。
<div
style={{
position: 'absolute',
left: '50%',
top: '50%',
transform: 'translate(-50%, -50%)'
}}
>
<YourComponent/>
</div>
必要なことは、コンテンツをグリッドコンテナタグ内にラップし、間隔を指定してから、実際のコンテンツをグリッドアイテムタグ内にラップすることです。
<Grid container spacing={24}>
<Grid item xs={8}>
<leftHeaderContent/>
</Grid>
<Grid item xs={3}>
<rightHeaderContent/>
</Grid>
</Grid>
また、マテリアルグリッドに苦労しました。CSSに自動的に組み込まれるflexboxをチェックアウトすることをお勧めします。使用するために追加のパッケージは必要ありません。とても簡単に習得できます。