flex-shrink
は CSS のプロパティで、フレックスアイテムの縮小係数を設定します。すべてのフレックスアイテムの寸法がフレックスコンテナーよりも大きい場合、アイテムは flex-shrink
の数値に従って縮小して収まります。
使用時は flex-shrink
は flex-grow
や flex-basis
などの他のフレックスプロパティと共に使用され、ふつうは flex
の一括指定を使用して定義されます。
このデモのソースファイルは GitHub リポジトリに格納されています。デモプロジェクトに協力したい場合は、 https://github.com/mdn/interactive-examples をクローンしてプルリクエストを送信してください。
構文
/* <number> 値 */
flex-shrink: 2;
flex-shrink: 0.6;
/* グローバル値 */
flex-shrink: inherit;
flex-shrink: initial;
flex-shrink: unset;
flex-shrink
プロパティは単一の <number>
で指定します。
値
<number>
<number>
をご覧ください。負の値は無効です。既定値は 1 です。
公式定義
形式文法
例
フレックスアイテムの縮小係数の設定
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
このページの互換性一覧表は構造化データから生成されています。データに協力していただけるのであれば、 https://github.com/mdn/browser-compat-data をチェックアウトしてプルリクエストを送信してください。
関連情報
- CSS フレックスボックスガイド: フレックスボックスの基本概念
- CSS フレックスボックスガイド: フレックスアイテムの主軸方向における比率の制御