flexbox-basic.html
WEBサイトをレイアウトする為に実装され、スマートフォンなどの端末でも最適で柔軟なレイアウトが実現できるプロパティです。
現状、Webサイトをレイアウトするために用いられるもっともメジャーなプロパティなので是非覚えておきましょう。
<ul class="flexbox"> /* Container */ <li>flexアイテム</li> /* Item */ <li>flexアイテム</li> /* Item */ <li>flexアイテム</li> /* Item */ </ul>
.flexbox { display: flex; }
display: flex;
と指定すれば、子要素が横並びの対象となります。display:-ms-flexbox
。flex:1
ではなくflex-grow:1
としなければならない。display: -webkit-flex
display: -webkit-flex
display: -webkit-box
Flexbox関連のプロパティはたくさんあります。
無理にすべて覚えずに下記の表をうまく利用してレイアウトしてみてください。
flex-direction - flexアイテムを並べる方向
flex-wrap - flexアイテムの折り返し
justify-content - 左右中央
align-item(align-self) - 上下位置
align-content - 行の揃え方
flex-grow、flex-shrink、flex-basis - 伸縮系プロパティ
order - flexアイテムの順番
Flexアイテムが並ぶ方向を決める為のプロパティ
flex-direction | flexアイテムを並べる方向 |
---|---|
row [default] | |
row-reverse | |
column | |
column-reverse |
コンテナー内でFlexアイテムを折り返すためのプロパティ
flex-wrap | flexアイテムの折り返し |
---|---|
nowrap [default] | |
wrap | |
wrap-reverse |
Flexアイテムを配置する際の間隔を設定するプロパティ
justify-content | 左右位置 |
---|---|
flex-start [default] | |
flex-end | |
center | |
space-between | |
space-around |
Flexアイテムを垂直に揃えるためのプロパティ
align-items | 上下位置 |
---|---|
flex-start | |
flex-end | |
center | |
baseline | |
stretch [default] | |
(align-selfは省きます) |
Flexアイテムが2行以上になった場合にどう揃えるかを設定するプロパティ。
※「flex-wrap: wrap」が適用され、アイテムが2行になっている場合のみ有効
align-content | 行の揃え方 |
---|---|
stretch [default] | |
flex-start | |
flex-end | |
center | |
space-between | |
space-around |
リンクなしのメニュー、box-sizing: border-box
を用いてレイアウトしてください。
上記の練習1を使ってリンク付きのメニューにしてみましょう。
練習2を使って、全体をpadding20ピクセルの余白をつけて背景色 #eeeeee
にしてください。
※ box-sizing: border-box;
を用いてレイアウトしてください。