☺️
CSS FlexBox 簡単まとめ
Flexible Box Module (FlexBox)はCSS3から導入されたレイアウトモジュールは便利で、よく使いますが、今一覚えられないので簡単のまとめを書いていきます。。
この記事はFlexBoxについてある程度ご存知している方、使っているけど今一の方におすすめです。
FlexBoxが通用する条件:
- 親要素(コンテナー)と子要素(アイテム)が存在する。
- 親要素(コンテナー)に display:flex が描かれている。
<div class="container">
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
</div>
コンテナーとアイテムが使えるプロパティは以下通りです。
1.コンテナー
プロパティ | 説明 | 値 | 説明 |
---|---|---|---|
flex-direction | アイテムの並び順を指定 | row | 水平方向に左から右へ |
row-reverse | 水平方向に右から左へ | ||
column | 垂直方向に上から下へ | ||
colmn-reverse | 垂直方向に下から上へ | ||
flex-wrap | アイテムの折り返しを指定する | nowrap | アイテムを折り返さず一列に |
wrap | 複数行のアイテムを上から下へ | ||
wrap-reverse | 複数行のアイテムを下から上へ | ||
flex-flow | アイテムの並び順と折り返しを一括で指定する | flex-flow: [flex-direction] [flex-wrap] | |
justify-content | アイテムの水平方向の位置を指定する | flex-start | 左揃え |
flex-end | 右揃え | ||
center | 中央揃え | ||
space-between | 両端の余白を空けず、要素は均等に間隔を空け | ||
space-around | 両端も要素も含めて、均等な間隔を空け | ||
space-evenly | 両端は同じ大きさの間隔を、要素は均等な間隔を空け | ||
align-items | アイテムの垂直方向の位置を指定する | stretch | 上下の余白を埋めるように |
flex-start | 上揃え | ||
flex-end | 下揃え | ||
center | 中央揃え | ||
baseline | ベースラインに合わせ | ||
align-content | アイテムの行の垂直方向の位置を指定する(アイテムが複数行がある場合) | stretch | 上下の余白を埋めるように |
flex-start | 上揃え | ||
flex-end | 下揃え | ||
center | 中央揃え | ||
space-between | 最上行と最下行の余白を空けず、行は均等に間隔を空け | ||
space-around | 位置関係なく行は均等に間隔を空け |
2.アイテム
プロパティ | 説明 | 値 | 説明・備考 |
---|---|---|---|
order | アイテムの並び順を指定 | number, グローバル値 | default が 0,マイナス数字可能 |
flex-grow | アイテムの伸び率を指定 | number, グローバル値 | default が 0、マイナス数字不可 |
flex-shrink | アイテムの縮み率を指定 | number, グローバル値 | default が 0 |
flex-basis | アイテムのベースの幅を指定 | number + 単位, グローバル値, 固有のサイズ | default が auto |
flex | アイテムの伸び率、縮み率、ベースの幅を一括指定 | flex:[flex-grow ] [flex-shrink] [flex-basis] | |
align-self | アイテムの垂直方向の位置を指定 | auto | 親要素のalign-itemsの値を使用 |
flex-start | 上揃え | ||
flex-end | 下揃え | ||
center | 中央揃え | ||
baseline | ベースラインに合わせて | ||
stretch | 上下の余白を埋めるように |
以上のプロパティを組み合わせて利用すると、レスポンシブデザインでも楽になります。
Discussion