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