min-content and max-content
min-contentはコンテンツがオーバーフローしない最小幅(単語の最長幅等)を、max-contentはコンテンツが改行せずに表示できる最大幅を表します。FlexboxやGridレイアウトと組み合わせて、コンテンツに応じた柔軟なサイズ設定を実現します。固定値に頼らないコンテンツ駆動型のレイアウト設計に不可欠です。
概要
min-contentはコンテンツがオーバーフローしない最小幅(単語の最長幅等)を、max-contentはコンテンツが改行せずに表示できる最大幅を表します。FlexboxやGridレイアウトと組み合わせて、コンテンツに応じた柔軟なサイズ設定を実現します。固定値に頼らないコンテンツ駆動型のレイアウト設計に不可欠です。
対応ブラウザ
デスクトップ
Chrome 46+
Edge 79+
Safari 11+
Firefox 66+
モバイル
Chrome Android 46+
Safari iOS 11+
Firefox Android 66+
基本構文
CSS
.tag {
width: max-content;
}
.sidebar {
width: min-content;
}
.grid {
grid-template-columns: min-content 1fr;
} 実務での使いどころ
-
コンテンツ量に応じた自動サイズ調整
タグやラベルにwidth: max-contentを適用し、テキスト量に応じて自動的に幅が調整されるレイアウトを作成します。
注意点
- min-contentは長い単語がある場合に予期しない幅になることがあります。overflow-wrapと併用して制御してください。
アクセシビリティ
- min-contentやmax-contentによるサイズ変動でテキストが意図せず小さくなったり切れたりしないよう確認してください。