レイアウトする際に、必要なプロパティではありませんが、
デバイス毎に横幅が伸び縮みして、可変する場合に効果があります。
| flex-grow,flex-shrink,flex-basis | 伸縮系プロパティ |
|---|---|
| flex-grow | 初期値: 0 |
| flex-shrink | 初期値: 1 |
| flex-basis | 初期値: auto |
<ul class="flexbox"> /* container */ <li>flexアイテム</li> /* Item */ <li>flexアイテム</li> /* Item */ <li>flexアイテム</li> /* Item */ </ul>
コンテナー内の余った領域を、各アイテムにどう分配するかの割合。
.flexbox { display: flex; width: 700px; padding: 16px; background-color: #EEE; } li { width: 100px; height: 100px; margin-right: 14px; background-color: palegreen; /* flex-grow: 0; */ }

2番目のFlexアイテムに flex-grow: 1 を設定した。
li { width: 100px; height: 100px; margin-right: 14px; background-color: palegreen; /* flex-grow: 0; */ } li:nth-child(2) { flex-grow: 1; }

2番目のFlexアイテムに flex-grow: 2 を設定し、4番目のFlexアイテムに flex-grow: 1 を設定した。
li { width: 100px; height: 100px; margin-right: 14px; background-color: palegreen; /* flex-grow: 0; */ } li:nth-child(2) { flex-grow: 2; } li:nth-child(4) { flex-grow: 1; }

https://codepen.io/cshool/pen/rQJdbg
https://residence.nikkei.co.jp/

https://www.quantamagazine.org/universal-quantum-phenomenon-found-in-superconductors-20181119/


縮む割合をコンテナー内の余った領域から、その割合をどう分配するか。
コンテナーが小さすぎる場合にのみ効果があります。
<ul class="flexbox"> <li>flexアイテム</li> <li>flexアイテム</li> <li>flexアイテム</li> <li>flexアイテム</li> <li>flexアイテム</li> <li>flexアイテム</li> </ul>
li { width: 100px; height: 100px; margin-right: 14px; background-color: palegreen; /* flex-shrink: 1; */ }

2番目のFlexアイテムに flex-shrink: 0 を設定し、4番目のFlexアイテムに flex-shrink: 4 を設定した。
li { width: 100px; height: 100px; margin-right: 10px; background-color: palegreen; /* flex-shrink: 1; */ } li:nth-child(2) { flex-shrink: 0; } li:nth-child(4) { flex-shrink: 4; }
https://codepen.io/cshool/pen/yQvjNw

flex-shrink: 0; を指定した場合、どれだけコンテナーが狭くなってもこれ以上は縮まない。
flex-shrink: 2; 以上の数値を指定した場合、その数値の倍速で縮む。
例:
flex-shrink: 4;→ 4倍の速度で縮む。

Flexアイテムの進行方向に対する width のようなもの。
flex-direction: column; で縦ならびになった際は、heightと同じ効果。
覚えにくいと思うので、こういうのがあると頭の片隅に入れておいてください。
li { flex: 0 1 auto; /* grow shrink basis */ }
| order | 順番の指定 |
|---|---|
| 0 [default] | ![]() |
| 1 | ![]() |
| -1 | ![]() |
| 9 | ![]() |

