flex-shrink

flex-shrinkCSS のプロパティで、フレックスアイテムの縮小係数を設定します。すべてのフレックスアイテムの寸法がフレックスコンテナーよりも大きい場合、アイテムは flex-shrink の数値に従って縮小して収まります。

使用時は flex-shrinkflex-growflex-basis などの他のフレックスプロパティと共に使用され、ふつうは flex の一括指定を使用して定義されます。

構文

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

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

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

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

公式定義

初期値1
適用対象フロー内の擬似要素を含むフレックスアイテム
継承なし
計算値指定通り
アニメーションの種類数値

形式文法

<number>

フレックスアイテムの縮小係数の設定

HTML

<p>全体の幅は 500px で、フレックスアイテムの 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 の定義
勧告候補 初回定義

ブラウザーの互換性

BCD tables only load in the browser

関連情報