flex-shrink CSS プロパティは、flex アイテムが縮む割合を表します。flex アイテムの既定の寸法が flex コンテナよりも大きい場合、flex アイテムは flex-shrink の数値に従って縮み、コンテナ内に収まります。

構文

/* <number> 値 */
flex-shrink: 2;
flex-shrink: 0.6;

/* グローバル値 */
flex-shrink: inherit;
flex-shrink: initial;
flex-shrink: unset;

flex-shrink プロパティは単一の <number> で指定します。

<number>
<number> をご覧ください。負の値は無効です。

形式的構文

<number>

HTML

<p>全体の幅は 500px で、flex アイテムの flex-basis は 120px です。</p>
<p>A、B、C には flex-shrink:1 が、D と E には flex-shrink:2 が設定されています。</p>
<p>D と E の幅は他より狭くなります。</p>
<div id="content">
  <div class="box" style="background-color:red;">A</div>
  <div class="box" style="background-color:lightblue;">B</div>
  <div class="box" style="background-color:yellow;">C</div>
  <div class="box1" style="background-color:brown;">D</div>
  <div class="box1" style="background-color:lightgreen;">E</div>
</div>

CSS

#content {
  display: flex;
  width: 500px;
}

#content div {
  flex-basis: 120px;
  border: 3px solid rgba(0,0,0,.2);
}

.box { 
  flex-shrink: 1;
}

.box1 { 
  flex-shrink: 2; 
}

結果

仕様

仕様書 策定状況 コメント
CSS Flexible Box Layout Module
flex-shrink の定義
勧告候補 初期定義

初期値1
適用対象フロー内の疑似要素を含むフレックスアイテム
継承なし
メディア視覚
計算値指定値
アニメーションの種類number
正規順序形式文法で定義される一意のあいまいでない順序

ブラウザー実装状況

機能ChromeEdgeFirefoxInternet ExplorerOperaSafari
基本対応

29

21 -webkit-

12

12 -webkit-

201 2

49 -webkit-

44 -webkit- 3

18 — 204

105

12.1

15 -webkit-

8 -webkit-
機能Android webviewChrome for AndroidEdge mobileFirefox for AndroidOpera AndroidiOS SafariSamsung Internet
基本対応

29

21 -webkit-

29

25 -webkit-

あり

あり -webkit-

201 2

49 -webkit-

44 -webkit- 3

18 — 204

12.1

15 -webkit-

? ?

1. Since Firefox 28, multi-line flexbox is supported.

2. Before Firefox 32, Firefox wasn't able to animate values starting or stopping at 0.

3. From version 44: this feature is behind the layout.css.prefixes.webkit preference (needs to be set to true). To change preferences in Firefox, visit about:config.

4. From version 18 until version 20 (exclusive): this feature is behind the layout.css.flexbox.enabled preference (needs to be set to true). To change preferences in Firefox, visit about:config.

5. Internet Explorer 10 uses 0 instead of 1 as the initial value for the flex-shrink property. A workaround is to always set an explicit value for flex-shrink. See Flexbug #6 for more info.

関連情報

ドキュメントのタグと貢献者

このページの貢献者: sutara79, Sebastianz, yyss, fscholz, teoli, ethertank
最終更新者: sutara79,