max-width

Baseline Widely available *

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

* Some parts of this feature may have varying levels of support.

max-width CSS 属性设置元素的最大宽度。它可防止 width 属性的应用值大于 max-width 指定的值。

尝试一下

max-width 会覆盖 width 的设置,但 min-width 的设置会覆盖 max-width

语法

css
/* <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: fit-content(20em);

/* 全局值 */
max-width: inherit;
max-width: initial;
max-width: revert;
max-width: revert-layer;
max-width: unset;

<length>

以绝对值定义 max-width

<percentage>

以包含区块的宽度百分比定义 max-width

none

盒子大小没有限制。

max-content

固有首选 max-width

min-content

固有最小 max-width

fit-content

使用可用空间,但不得超过 max-content,即 min(max-content,max(min-content,stretch))

fit-content(<length-percentage>) 实验性

使用 fit-content 公式,用指定参数替换可用空间,即 min(max-content, max(min-content, argument))

无障碍考虑

确保设置了 max-width 的元素在页面缩放以增大文字大小时不会被截断和/或遮挡其他内容。

形式定义

初始值none
适用元素all elements but non-replaced inline elements, table rows, and row groups
是否是继承属性
Percentagesrefer to the width of the containing block
计算值the percentage as specified or the absolute length or none
动画类型a length, percentage or calc();

形式语法

max-width = 
none |
<length-percentage [0,∞]> |
min-content |
max-content |
fit-content( <length-percentage [0,∞]> ) |
<calc-size()> |
<anchor-size()>

<length-percentage> =
<length> |
<percentage>

<calc-size()> =
calc-size( <calc-size-basis> , <calc-sum> )

<anchor-size()> =
anchor-size( [ <anchor-name> || <anchor-size> ]? , <length-percentage>? )

<calc-size-basis> =
<intrinsic-size-keyword> |
<calc-size()> |
any |
<calc-sum>

<calc-sum> =
<calc-product> [ [ '+' | '-' ] <calc-product> ]*

<anchor-name> =
<dashed-ident>

<anchor-size> =
width |
height |
block |
inline |
self-block |
self-inline

<calc-product> =
<calc-value> [ [ '*' | '/' ] <calc-value> ]*

<calc-value> =
<number> |
<dimension> |
<percentage> |
<calc-keyword> |
( <calc-sum> )

<calc-keyword> =
e |
pi |
infinity |
-infinity |
NaN

示例

设置最大像素宽度

在本例中,“child”的宽度为 150 像素或“parent”的宽度,以较小者为准。

HTML

html
<div id="parent">
  <div id="child">
    Fusce pulvinar vestibulum eros, sed luctus ex lobortis quis.
  </div>
</div>

CSS

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

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

规范

Specification
CSS Box Sizing Module Level 4
# width-height-keywords
CSS Box Sizing Module Level 4
# sizing-values

浏览器兼容性

Report problems with this compatibility data on GitHub
desktopmobile
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
max-width
anchor-size()
Experimental
fit-content
fit-content()
Experimental
max-content
min-content
none
stretch
Experimental

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support
Partial support
Partial support
No support
No support
Experimental. Expect behavior to change in the future.
See implementation notes.
User must explicitly enable this feature.
Uses a non-standard name.
Requires a vendor prefix or different name for use.
Has more compatibility info.

参见