width

width 属性用于设置元素的宽度。width 默认设置内容区域的宽度,但如果 box-sizing 属性被设置为 border-box,就转而设置边框区域的宽度。

尝试一下

min-widthmax-width 属性的优先级高于 width

语法

css
/* <length> values */
width: 300px;
width: 25em;

/* <percentage> value */
width: 75%;

/* Keyword values */
width: max-content;
width: min-content;
width: fit-content(20em);
width: auto;

/* Global values */
width: inherit;
width: initial;
width: unset;

width 属性也指定为:

<length>

使用绝对值定义宽度。

<percentage>

使用外层元素的容纳区块宽度(the containing block's width)的百分比定义宽度。

auto

浏览器将会为指定的元素计算并选择一个宽度。

max-content 实验性

元素内容固有的(intrinsic)合适宽度。

min-content 实验性

元素内容固有的最小宽度。

fit-content 实验性

取以下两种值中的较大值:

  • 固有的最小宽度
  • 固有首选宽度(max-content)和可用宽度(available)两者中的较小值

可表示为:min(max-content, max(min-content, <length-percentage>))

形式语法

width = 
auto |
<length-percentage [0,∞]> |
min-content |
max-content |
fit-content( <length-percentage [0,∞]> )

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

示例

默认宽度

css
p.goldie {
  background: gold;
}
html
<p class="goldie">The Mozilla community produces a lot of great software.</p>

像素 px 和字高 em

css
.px_length {
  width: 200px;
  background-color: red;
  color: white;
  border: 1px solid black;
}

.em_length {
  width: 20em;
  background-color: white;
  color: red;
  border: 1px solid black;
}
html
<div class="px_length">以 px 度量的宽度</div>
<div class="em_length">以 em 度量的宽度</div>

百分比

css
.percent {
  width: 20%;
  background-color: silver;
  border: 1px solid red;
}
html
<div class="percent">按照百分比度量的宽度</div>

max-content 使用示例

css
p.maxgreen {
  background: lightgreen;
  width: intrinsic; /* Safari/WebKit 使用了非标准的名称 */
  width: -moz-max-content; /* Firefox/Gecko */
  width: -webkit-max-content; /* Chrome */
}
html
<p class="maxgreen">The Mozilla community produces a lot of great software.</p>

min-content 使用示例

css
p.minblue {
  background: lightblue;
  width: -moz-min-content; /* Firefox */
  width: -webkit-min-content; /* Chrome */
}
html
<p class="minblue">The Mozilla community produces a lot of great software.</p>

无障碍考虑

当页面放大以增加文本大小时,请确保 width 设置的元素不会被截断并且不会遮挡其他内容。

规范

Specification
CSS Box Sizing Module Level 4
# width-height-keywords
CSS Box Sizing Module Level 4
# sizing-values
初始值auto
适用元素all elements but non-replaced inline elements, table rows, and row groups
是否是继承属性
Percentagesrefer to the width of the containing block
计算值a percentage or auto or the absolute length
Animation typea length, percentage or calc();

浏览器兼容性

BCD tables only load in the browser

参见