Material UI Box、Container、Typographyの違い
はじめに
前回はMaterial UIの基本的な使い方についてご説明しました。
まだお読みになっていない方はもしよろしければご覧ください。
今回はMaterial UIで主に使うことになる
Box、Container、Typographyの違い
についてまとめていきたいと思います。
目次
-
Box
-
Conatainer
-
Typography
-
まとめ
Box
まずはBoxです。
基本的にこれを使用することになると思います。
Boxはcomponentプロパティにhtml要素を設定することで要素を変更することが出来ます。
※何も記載がない場合、divとして表示されます。
<Box component="main"/>
componentプロパティは基本的にどのHTML要素にも対応しています。
<Box component="form">
<Box component="img" alt="" src=""/>
<Box component="span"/>
<Box component="a" href=""/>
<Box component="strong" href=""/>
<Box component="h1" href=""/>
Container
次にContainerです。
Containerは基本的にはBoxと同じです。
Boxとの違いは基本的に要素を真ん中に寄せたい場合で、CotainerプロパティのmaxWidthと一緒に使用します。
<Container
maxWidth="xs"
/>
前回紹介したthemeを使ってブレイクポイントの変更も可能です。
Typography
最後にTypographyです。
Typographyはthemeのtypographyオブジェクトを使用することが出来ます。
基本的にはvariantプロパティを使用して要素と利用するthemeを設定します。
<Typography variant="h1">dammy text</Typography>
Variantの種類
Variantの種類は下記13種類です。
- h1
- h2
- h3
- h4
- h5
- h6
- subtitle1
- subtitle2
- body1
- body2
- button
- caption
- overline
また、variantと共に、componentを使用することで、themeを適用しつつ別の要素にすることもできます。
// どちらも同じthemeが適用され、要素だけ違う。
<Typography variant="h1">dammy text</Typography>
<Typography variant="h1" component="span">
dammy text
</Typography>
まとめ
今回はBox、Container、Typographyについて紹介しました。
まとめると下記のようになります。
要素 | 説明 |
---|---|
Box | 基本的にはこれを使用する。html要素を設定する。 |
Container | 要素を真ん中に寄せたい場合に使用する。 |
Typography | themeのTypographyオブジェクトを使用してスタイリングしたい場合に使用する。 |
sxプロパティを使用し、スタイリングすることも可能ですが、
用途にあったものを使用し、Material UIを用いてより見やすく、きれいなコーディングをしましょう。
ここまで読んでくださり、ありがとうございました。
参考にした資料
Discussion