--- title: flex-shrink slug: Web/CSS/flex-shrink tags: - CSS - CSS Flexible Boxes - CSS Property - CSS フレックスボックス - NeedsContent - Reference - 'recipe:css-property' translation_of: Web/CSS/flex-shrink ---
flex-shrink
は CSS のプロパティで、フレックスアイテムの縮小係数を設定します。すべてのフレックスアイテムの寸法がフレックスコンテナーよりも大きい場合、アイテムは flex-shrink
の数値に従って縮小して収まります。
使用時は flex-shrink
は {{cssxref("flex-grow")}} や {{cssxref("flex-basis")}} などの他のフレックスプロパティと共に使用され、ふつうは {{cssxref("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>
{{cssinfo}}
<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>
#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; }
{{EmbedLiveSample('Setting_flex_item_shrink_factor', 500, 300)}}
仕様書 | 状態 | 備考 |
---|---|---|
{{SpecName('CSS3 Flexbox', '#flex-shrink', 'flex-shrink')}} | {{Spec2('CSS3 Flexbox')}} | 初回定義 |
{{Compat("css.properties.flex-shrink")}}