LoginSignup
0
0

More than 3 years have passed since last update.

Flexプロパティが分からない!

Posted at

皆なさん「Flexプロパティ」はご存知でしょうか?
私自身flex:1 1 auto;というコードをみて
「何それ?美味しいの?」と思い調べて理解したので共有させていただきます。
まず、このflex:1 1 auto;こちらは
flex-grow、lex-shrink、flex-basisの3つを一気に指定するものになります。では、一つずつ見ていきましょう。

・flex-grow

こちらはflexコンテナ全体の幅にflexアイテム合計幅が満たない場合の伸縮率になります。
もっと噛み砕いていうと、flex-grow:1;の場合 「一つの部屋を3人でシェアする時、みんな均等にスペースを分けようね」っていうことです。
参照.png

もしflex-grow:1 2 1;の場合
2の人が欲張りになっちゃいます。
参照2.png
続きまして。。。

・flex-shrink

こちらはflexコンテナ全体の幅よりflexアイテム合計幅が多い場合の縮む比率になります。
先程とほぼ一緒になりますが、噛み砕いていうと、flex-shrink:1 1 1;の場合 「一つの部屋を3人でシェアする時、俺だけ多めに撮ってしまってるからみんなで分け合おうぜ」っていうことです。
参照3.png
続きまして。。。

・flex-basic

flexアイテムの基準幅を設定するものになります。
px, em などの単位付きの数値や、親の Flex コンテナの main size に対するパーセンテージで指定します。
例えば親要素に今までのgrowやshrinkが設定されているとbasicで設定した値になるとは限らないので注意してください。

ここまできていうのもなんですが、一番王道な均等に全ての要素を配置したい場合はflex: 1 1 auto;としてしまえばOKかと思われます。

以上Flexプロパティでした!

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0