トミケルの本音

日々の仕事や趣味で感じたことを綴るブログ

FlexのTips

子要素で使うflexプロパティは、flex-grow, flex-shrink, flex-basisのショートハンド(省略形)となります。

例えば横並びのflexディスプレイの子要素に以下の設定をすると、

flex: 0 0 18% (flex-grow = 0, flex-shrink = 0, flex-basis = 18%)

その子要素は、横に伸びない(flex-growしない=元の横幅のまま)、縮まない(flex-shrinkしない)、横幅は親要素の18%、ということになります。

また、flexプロパティで、大きさを%(相対値)にするときは、他の2つは0にするのが基本。

flex-growは、横に並ぶためのスペース(親要素の幅)にまだ余裕がある時に、兄弟要素と比較して当該要素をどのぐらい伸ばすか(正確には係数)を指定するもの。伸ばさないときは0、兄弟要素より伸ばしたいときは、2とか3とかより大きい数にしよう!初期値は0(伸びない)!

flex-shrinkは、親要素が当該要素がはみ出すほど縮んだときに、当該要素をどのぐらいを縮ませるかを決めるもの。縮ませたくないときは0、優先して縮ませたいときはより2とか3とか大きい数字にしよう!初期値は1(縮む)!

flex-basisは、当該要素の初期サイズ!

このflexプロパティを使って便利に!

例えばA要素(幅は一定)とB要素(A要素を引いた残り幅)を横並びにしたい時は、

Aに flex: 0 0 18%; Bに flex: 1;

にするだけで解決!スゴ!!(ちなみに flex: 1; = flex: 1 1 auto; )

flex propatyの詳細は、こちら