height

height CSS 属性指定了一个元素的高度。默认情况下,这个属性决定的是内容区( content area)的高度,但是,如果将 box-sizing 设置为 border-box , 这个属性决定的将是边框区域(border area)的高度。

尝试一下

min-heightmax-height 属性会覆盖 height

语法

css
/* Keyword value */
height: auto;

/* <length> values */
height: 120px;
height: 10em;

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

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

<length>

将高度定义为一个绝对值。

<percentage>

将高度定义为相对包含块高度的百分比。

border-box 实验性

如果设置该值,则 <length> 或者 <percentage> 会设置为该元素的 border box。

content-box 实验性

如果设置该值,则 <length> 或者 <percentage> 会设置为该元素的 content box。

auto

由浏览器为元素计算并选择一个高度。

fill 实验性

根据文字方向,使用 fill-available 作为行大小或者块大小。

max-content 实验性

设置为允许的最大高度。

min-content 实验性

设置为允许的最小高度。

available 实验性

包含块高度减去当前元素的边距,边框和填充。

fit-content 实验性

将 fill-content 公式中的可用位置替换为特定的参数以进行使用,如:min(max-content, max(min-content, ))

Formal syntax

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

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

示例

HTML

html
<div id="taller">I'm 50 pixels tall.</div>
<div id="shorter">I'm 25 pixels tall.</div>
<div id="parent">
  <div id="child">I'm half the height of my parent.</div>
</div>

CSS

css
div {
  width: 250px;
  margin-bottom: 5px;
  border: 2px solid blue;
}

#taller {
  height: 50px;
}

#shorter {
  height: 25px;
}

#parent {
  height: 100px;
}

#child {
  height: 50%;
  width: 75%;
}

结果

无障碍问题

确保设定了 height 的元素在显示上不会被截断,或者当页面放大时增大的字体大小不会遮挡其他内容。

规范

Specification
CSS Box Sizing Module Level 3
# preferred-size-properties
CSS Box Sizing Module Level 4
# sizing-values
初始值auto
适用元素all elements but non-replaced inline elements, table columns, and column groups
是否是继承属性
PercentagesThe percentage is calculated with respect to the height of the generated box's containing block. If the height of the containing block is not specified explicitly (i.e., it depends on content height), and this element is not absolutely positioned, the value computes to auto. A percentage height on the root element is relative to the initial containing block.
计算值a percentage or auto or the absolute length
Animation typea length, percentage or calc();

浏览器兼容性

BCD tables only load in the browser

参见