CSSのdisplay:flex で幅(width)の指定が効かない時の対処法

CSS

こんにちは。

display:flex(flexbox)で要素を横に並べた際に、幅を指定してもその通りにならないと困っていませんか?
本記事では、CSSのdisplay:flexで幅(width)の指定が効かない時の対処法を解説していきます。

スポンサーリンク

CSSのdisplay:flex で幅(width)の指定が効かない時の対処法

実はこの現象、とあるプロパティを一つ加えるだけで簡単に解決できちゃいます。

そのプロパティが flex-shrink です。

結論から言うと、flex の小要素に、このflex-shrinkの値を0に指定するだけで解決することができます。

.element{
    flex-shrink: 0;
}

flex-shrink は、display: flex にした要素がもつ小要素の縮小率を表しています。
数字が大きいほど縮小率が上がるため、小さくなります。
flexboxはコンテナ内に小要素がちょうどよく収まるように、この flex-shrink で幅を自動制御しているということです。
0にすると縮小しなくなるので、独自の幅を設定できるようになります。

タイトルとURLをコピーしました