语法
/* Keyword values */
contain-intrinsic-height: none;
/* <length> values */
contain-intrinsic-height: 1000px;
contain-intrinsic-height: 10rem;
/* auto <length> */
contain-intrinsic-height: auto 300px;
/* Global values */
contain-intrinsic-height: inherit;
contain-intrinsic-height: initial;
contain-intrinsic-height: revert;
contain-intrinsic-height: revert-layer;
contain-intrinsic-height: unset;
值
可以为元素指定以下值。
none-
该元素没有固有高度。
<length>-
该元素具有指定的高度(
<length>)。 auto <length>-
如果存在且元素正在跳过其内容(例如,当它在屏幕外时),则使用“正常渲染”元素高度的记忆值;否则使用指定的
<length>。
描述
此属性通常与可以触发尺寸限制的元素一起应用,例如 contain: size 和 content-visibility,也可以使用 contain-intrinsic-size 简写属性设置。
尺寸限制允许用户代理将元素布局为具有固定大小,通过避免重新渲染子元素以确定实际大小来防止不必要的重排(从而改善用户体验)。默认情况下,尺寸限制将元素视为没有内容,并且可能像内容没有高度(或宽度)一样折叠布局。contain-intrinsic-height 属性允许作者指定一个合适的值作为布局高度。
auto <length> 值允许在元素“正常渲染”时(带有其子元素)存储元素的高度,然后在元素跳过其内容时使用该高度,而不是指定的高度。这使得具有 content-visibility: auto 的屏幕外元素能够受益于尺寸限制,而开发人员无需对其元素大小进行精确估算。如果子元素正在渲染(如果启用了尺寸限制,将使用 <length>),则不使用记忆值。
正式定义
正式语法
contain-intrinsic-height =
auto? [ none | <length [0,∞]> ]
示例
除了下面的示例,contain-intrinsic-size 页面还包含一个实时示例,演示了修改固有宽度和高度的效果。
设置固有高度
下面的 HTML 定义了一个将受到尺寸约束的元素“contained_element”,该元素包含一个子元素。
<div id="contained_element">
<div class="child_element"></div>
</div>
下面的 CSS 将 contained_element 的 content-visibility 设置为 auto,因此如果元素被隐藏,它将受到尺寸限制。在受尺寸限制时使用的宽度和高度分别使用 contain-intrinsic-width 和 contain-intrinsic-height 同时设置。
#contained_element {
border: 2px solid green;
width: 151px;
content-visibility: auto;
contain-intrinsic-width: 152px;
contain-intrinsic-height: 52px;
}
.child_element {
border: 1px solid red;
background: blue;
height: 50px;
width: 150px;
}
规范
| 规范 |
|---|
| CSS Box Sizing Module Level 4 # propdef-contain-intrinsic-height |
浏览器兼容性
加载中…