生徒
Flexboxのプロパティをいつも忘れてしまいます
Flexboxで子要素のレイアウトを指定するプロパティの説明をします
目次
Flexboxは子要素の並び方を設定できる
CSSのFlexboxは子要素の並び方を指定することでいろいろなレイアウトにすることができます。
この記事では、Flexboxの親要素に指定して子要素の並び方を設定するプロパティに付いて説明します。
この記事の内容
- display: flex; と一緒に親要素に指定するFlexboxのプロパティを説明します
- 操作できるデモ画面でプロパティの値による動きの違いを説明します
親要素に display: flex; を設定するとFlexboxになる
まずは、レイアウトを指定したい要素の親要素に display: flex; を設定してFlexboxにします。Flexboxは他に何も指定しない場合、中の子要素が横に並びます。グローバルメニューをリストを横並びにして作るときなどにもよく使います。
flex-direction は子要素の向きを指定
flex-direction は、display: flex; を指定した 要素の子要素の並ぶ向きを指定します。
値 | 説明 |
---|---|
設定なし | flex-direction の指定がないときは、rowを設定したときと同じになります。 |
row | 左上から右に向かって子要素が並びます。 |
row-reverse | 右上から左に向かって子要素が並びます。 |
column | 左上から下に向かって子要素が並びます。 |
column-reverse | 右上から下に向かって子要素が並びます。 |
気を付ける必要がある点としては、column, column-reverse を指定した場合、その他の子要素に対するプロパティの設定も横向きではなく、縦向きに反映されます。
flex-wrap は子要素の折返しを設定
frex-wrap は、display: flex; を指定した 要素の子要素の並ぶ向きを指定します。
値 | 説明 |
---|---|
設定なし | flex-wrap の指定がないときは、nowrap を設定したときと同じになります。 |
nowrap | 折り返さずに並びます。 |
wrap | 親要素の端で折り返して並びます。 |
wrap-reverse | 下から上に向かって親要素の端で折り返して並びます。 |
justify-content は子要素の横方法の配置を設定
justify-content は、didplay: flex; を設定した要素の、子要素の横方向の配置を指定します。
値 | 説明 |
---|---|
設定なし | justify-content の指定がないときは、flex-startを設定したときと同じになります。 |
flex-start | 左端から開始して右に向けて隙間なく並びます。 |
row-reverse | 終端が右端になるように左から右に向けて並びます。 |
column | 中央寄せで隙間なく並びます。 |
space-between | 先頭と末尾の子要素の端が親要素の端にくるように等間隔に並びます。 |
space-around | 先頭と末尾の子要素の端の外側にも余白を取る形で等間隔に並びます。 |
align-items は子要素の縦方向の配置を設定
align-items は、didplay: flex; を設定した要素の、子要素の縦方向の配置を指定します。
値 | 説明 |
---|---|
設定なし | flex-direction の指定がないときは、rowを設定したときと同じになります。 |
row | 左上から右に向かって子要素が並びます。 |
row-reverse | 右上から左に向かって子要素が並びます。 |
column | 左上から下に向かって子要素が並びます。 |
column-reverse | 右上から下に向かって子要素が並びます。 |
align-content は複数行での配置を設定
align-content は、子要素が複数行の時の配置を設定します。
値 | 説明 |
---|---|
設定なし | align-content の指定がないときは、stretchを設定したときと同じになります。 |
stretch | 各行の高さは等分で、高さの指定の無い子要素は縦幅いっぱいに伸びます。 |
flex-start | 上から詰めて並びます。 |
flex-end | 下から詰めて並びます。 |
center | 中央詰めで並びます。 |
baseline | 各子要素内の要素の縦位置を揃えて並びます。 |
space-between | 親要素の上下端と子要素の上下端を揃えて等間隔に並びます。 |
space-around | 子要素の上下端の外側にも余白をとって等間隔に並びます。 |