max-width

max-widthCSS のプロパティで、要素の最大幅を設定します。これは width プロパティの使用値が、 max-width で指定された値を上回ることを防ぎます。

max-widthwidth を上書きしますが、 min-widthmax-width を上書きします。

構文

/* <length> 値 */
max-width: 3.5em;

/* <percentage> 値 */
max-width: 75%;

/* キーワード値 */
max-width: none;
max-width: max-content;
max-width: min-content;
max-width: fit-content;
max-width: fill-available;

/* グローバル値 */
max-width: inherit;
max-width: initial;
max-width: unset;

<length>
絶対的な値による最大幅です。
<percentage>
包含ブロックの幅に対するパーセント値で表した最大幅です。

キーワード値

none
幅に最大値を指定しません。
max-content
内容物に合わせた最適な幅です。
min-content
内容物に合わせた最小の幅です。
fill-available
包含ブロックの幅から、水平方向のマージン、境界、パディングを取り除いた寸法です。 (ブラウザーによっては、このキーワードの旧称である available を実装しています。)
fit-content
max-content と同じです。

形式文法

<length> | <percentage> | none | max-content | min-content | fit-content | fill-available

この例では、 "child" の幅が150ピクセルか "parent" の幅のどちらか小さい方になります。

<div id="parent">
  <div id="child">
    Fusce pulvinar vestibulum eros, sed luctus ex lobortis quis.
  </div>
</div>
#parent {
  background: lightblue;
  width: 300px;
}

#child {
  background: gold;
  width: 100%;
  max-width: 150px;
}

fit-content の値を使用すると、内容物が必要とする最適な寸法に基づいて幅を設定することができます。

#parent {
  background: lightblue;
  width: 300px;
}

#child  {
  background: gold;
  width: 100%;
  max-width: -moz-fit-content;
  max-width: -webkit-fit-content;
}

アクセシビリティの考慮事項

ページを拡大縮小して文字サイズを拡大した際に、 max-width を設定した要素が他のコンテンツを切り捨てたり妨げたりしないことを確認してください。

仕様書

仕様書 状態 備考
CSS Intrinsic & Extrinsic Sizing Module Level 3
max-width の定義
草案 キーワード max-content, min-content, fit-content, fill-available を追加。 (CSS3 Box および CSS3 Writing Modes の草案の両方で、これらのキーワードを定義していました。本仕様書は、これらの草案を置き換えました。)
CSS Transitions
max-width の定義
草案 max-width がアニメーション可能として定義された。
CSS Level 2 (Revision 1)
max-width の定義
勧告 初回定義
初期値none
適用対象all elements but non-replaced inline elements, table rows, and row groups
継承なし
パーセンテージ包含ブロックの幅
メディア視覚
計算値指定されたパーセンテージ値または絶対的な長さ、または none
アニメーションの種類length または percentage, calc();
正規順序形式文法で定義される一意のあいまいでない順序

ブラウザーの互換性

Update compatibility data on GitHub
デスクトップモバイル
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewAndroid 版 ChromeAndroid 版 FirefoxAndroid 版 OperaiOSのSafariSamsung Internet
max-widthChrome 完全対応 1Edge 完全対応 12Firefox 完全対応 1
補足
完全対応 1
補足
補足 CSS 2.1 leaves the behavior of max-width with table undefined. Firefox supports applying max-width to table elements.
IE 完全対応 7Opera 完全対応 4
補足
完全対応 4
補足
補足 CSS 2.1 leaves the behavior of max-width with table undefined. Opera supports applying max-width to table elements.
Safari 完全対応 1WebView Android 完全対応 4.4Chrome Android 完全対応 18Firefox Android 完全対応 4
補足
完全対応 4
補足
補足 CSS 2.1 leaves the behavior of max-width with table undefined. Firefox supports applying max-width to table elements.
Opera Android 完全対応 ありSafari iOS 完全対応 1Samsung Internet Android 完全対応 1.0
fit-content
実験的
Chrome 完全対応 46
完全対応 46
完全対応 25
接頭辞付き
接頭辞付き -webkit- のベンダー接頭辞が必要
Edge 未対応 なしFirefox 部分対応 3
接頭辞付き 補足
部分対応 3
接頭辞付き 補足
接頭辞付き -moz- のベンダー接頭辞が必要
補足 Firefox implements the definitions given in CSS3 Basic Box. This defines available and not fit-available. Also, the definition of fit-content is simpler than in CSS3 Sizing.
IE 未対応 なしOpera 完全対応 44Safari 完全対応 6.1
接頭辞付き
完全対応 6.1
接頭辞付き
接頭辞付き -webkit- のベンダー接頭辞が必要
完全対応 2
代替名
代替名 非標準の名前 intrinsic を使用しています。
WebView Android 完全対応 46
完全対応 46
完全対応 ≤37
接頭辞付き
接頭辞付き -webkit- のベンダー接頭辞が必要
Chrome Android 完全対応 46Firefox Android 部分対応 4
接頭辞付き 補足
部分対応 4
接頭辞付き 補足
接頭辞付き -moz- のベンダー接頭辞が必要
補足 Firefox implements the definitions given in CSS3 Basic Box. This defines available and not fit-available. Also, the definition of fit-content is simpler than in CSS3 Sizing.
Opera Android 完全対応 43Safari iOS 完全対応 7
接頭辞付き
完全対応 7
接頭辞付き
接頭辞付き -webkit- のベンダー接頭辞が必要
完全対応 1
代替名
代替名 非標準の名前 intrinsic を使用しています。
Samsung Internet Android 完全対応 5.0
max-content
実験的
Chrome 完全対応 46
完全対応 46
完全対応 22
接頭辞付き
接頭辞付き -webkit- のベンダー接頭辞が必要
Edge 未対応 なしFirefox 完全対応 66
完全対応 66
完全対応 3
接頭辞付き
接頭辞付き -moz- のベンダー接頭辞が必要
IE 未対応 なしOpera 完全対応 44Safari 完全対応 6.1
接頭辞付き
完全対応 6.1
接頭辞付き
接頭辞付き -webkit- のベンダー接頭辞が必要
完全対応 2
代替名
代替名 非標準の名前 intrinsic を使用しています。
WebView Android 完全対応 46
完全対応 46
完全対応 ≤37
接頭辞付き
接頭辞付き -webkit- のベンダー接頭辞が必要
Chrome Android 完全対応 46Firefox Android 完全対応 66
完全対応 66
完全対応 4
接頭辞付き
接頭辞付き -moz- のベンダー接頭辞が必要
Opera Android 完全対応 43Safari iOS 完全対応 7
接頭辞付き
完全対応 7
接頭辞付き
接頭辞付き -webkit- のベンダー接頭辞が必要
完全対応 1
代替名
代替名 非標準の名前 intrinsic を使用しています。
Samsung Internet Android 完全対応 5.0
min-content
実験的
Chrome 完全対応 46
完全対応 46
完全対応 25
接頭辞付き
接頭辞付き -webkit- のベンダー接頭辞が必要
Edge 未対応 なしFirefox 完全対応 66
完全対応 66
完全対応 3
接頭辞付き
接頭辞付き -moz- のベンダー接頭辞が必要
IE 未対応 なしOpera 完全対応 44Safari 完全対応 6.1
接頭辞付き
完全対応 6.1
接頭辞付き
接頭辞付き -webkit- のベンダー接頭辞が必要
完全対応 2
代替名
代替名 非標準の名前 intrinsic を使用しています。
WebView Android 完全対応 46Chrome Android 完全対応 46Firefox Android 完全対応 66
完全対応 66
完全対応 4
接頭辞付き
接頭辞付き -moz- のベンダー接頭辞が必要
Opera Android 完全対応 43Safari iOS 完全対応 7
接頭辞付き
完全対応 7
接頭辞付き
接頭辞付き -webkit- のベンダー接頭辞が必要
完全対応 1
代替名
代替名 非標準の名前 intrinsic を使用しています。
Samsung Internet Android 完全対応 5.0
stretch
実験的
Chrome 完全対応 22
代替名
完全対応 22
代替名
代替名 非標準の名前 -webkit-fill-available を使用しています。
Edge 未対応 なしFirefox 未対応 なしIE 未対応 なしOpera 完全対応 15
代替名
完全対応 15
代替名
代替名 非標準の名前 -webkit-fill-available を使用しています。
Safari 未対応 なしWebView Android 完全対応 4.4
代替名
完全対応 4.4
代替名
代替名 非標準の名前 -webkit-fill-available を使用しています。
Chrome Android 完全対応 25
代替名
完全対応 25
代替名
代替名 非標準の名前 -webkit-fill-available を使用しています。
Firefox Android 未対応 なしOpera Android 完全対応 14
代替名
完全対応 14
代替名
代替名 非標準の名前 -webkit-fill-available を使用しています。
Safari iOS 未対応 なしSamsung Internet Android 未対応 なし

凡例

完全対応  
完全対応
部分対応  
部分対応
未対応  
未対応
実験的。動作が変更される可能性があります。
実験的。動作が変更される可能性があります。
実装ノートを参照してください。
実装ノートを参照してください。
非標準の名前を使用しています。
非標準の名前を使用しています。
使用するには、ベンダー接頭辞または異なる名前が必要です。
使用するには、ベンダー接頭辞または異なる名前が必要です。

関連情報