flexレイアウト適用前

11111

22222

33333

44444

55555

66666

基本的に何も設定していない場合、display: block;の表示で
ブロックのようにかたどられた要素がに積み重なるレイアウトになります。

flexレイアウト適用後

11111

22222

33333

44444

55555

66666

親要素(今回は、scetion要素)にdisplay:flex;を付加することで子要素は、並びになります。

この時にflexを施される親要素を"flexコンテナー"、中の整列する子要素を"flexアイテム"といいます。

flexアイテム(コンテンツ)に元づいて幅が伸縮

11111111

2222222222

333333333333

44444444

5555

6666666666666666666

そして、flexを施すだけでは横1列配置するだけのため、コンテンツが多いとはみ出る現象が起きます。

111111111111111

222222222222222

333333333333333

444444444444444

555555555555555

666666666666666

flexコンテナーにflex-wrap: wrap;を併用することではみ出そうになったら行を増やすという設定を行えます。

111111111111111

222222222222222

333333333333333

444444444444444

555555555555555

666666666666666

整列させる要素のサイズと個数の調整

3要素を並べられるよう枠を仮に設けたとします。今回のケーズであれば、section要素の親要素であるbody要素のwidthが適用されるので100%は1000pxとなっています。 その100%を3分の1枠使うの有れば33%、2枠使うように変形させるので有れば66%といった具合で設定しています。

111111111111111

222222222222222

333333333333333

444444444444444

555555555555555

666666666666666

こうすることで、クラスの付加によりサイズ(%)%からくる数量も同時進行で調整します。

4分割にするのであれば、25%を作って各々のアイテムに設定してあげるといいでしょう。

!!margin / paddingの影響があるので、このサンプルではそれを差し引いた%で微調整されております。
margin / paddingを0にすれば33.3%・66.6%・100%などより簡易でより正確に設定が可能です。

このような具合で、設定が面倒な面が多いのでbootstrapではこれらを簡易化してくれるクラス『col』が準備されています。

前へ

次へ