box-lines

非标准:此特性未标准化。我们不建议在生产环境中使用非标准特性,因为它们浏览器支持有限,并且可能会更改或被移除。但是,在没有标准选项的特定情况下,它们可以是合适的替代方案。

已弃用:此特性不再推荐。虽然某些浏览器可能仍然支持它,但它可能已经从相关的网络标准中删除,可能正在删除过程中,或者可能仅为兼容性目的而保留。请避免使用它,如果可能,请更新现有代码;请参阅本页底部的兼容性表格以指导您的决策。请注意,此特性可能随时停止工作。

警告:这是原始 CSS 弹性盒布局模块草案的一个属性。它已被规范取代。请参阅弹性盒,了解当前标准的信息。

box-lines CSS 属性决定了盒子可以包含单行还是多行(水平方向盒子为行,垂直方向盒子为列)。

默认情况下,水平方向的盒子将其子元素布局为单行,垂直方向的盒子将其子元素布局为单列。此行为可以使用 box-lines 属性进行更改。默认值为 single,这意味着所有元素都将放置在单行或单列中,任何不适合的元素都将被视为溢出。

但是,如果指定值为 multiple,则允许盒子扩展为多行(即多行或多列),以容纳其所有子元素。盒子必须通过在必要时将其所有元素缩小到最小宽度或高度,尽量将其子元素放置在尽可能少的行中。

如果水平方向盒子中的子元素在缩小到最小宽度后仍然不适合一行,则子元素将一个接一个地移动到新行,直到前一行剩余的元素适合为止。这个过程可以重复任意数量的行。如果一行只包含一个不适合的元素,则该元素应保留在该行中并溢出盒子。在正常方向的盒子中,后面的行放置在前面的行下方,在反向方向的盒子中,则放置在上方。行的高度是该行中最大子元素的高度。除了每行中最大元素的边距外,行之间没有额外的空间。在计算行高时,计算值为 auto 的边距应被视为值为 0。

垂直方向盒子中的子元素也会发生类似的过程。在正常方向的盒子中,后面的行放置在前面的行右侧,在反向方向的盒子中,则放置在左侧。

一旦确定了行数,计算后的 box-flex 值不为 0 的元素将根据需要进行拉伸,以尝试填充行中的剩余空间。每行独立计算弹性,因此在评估 box-flexbox-flex-group 时,只考虑该行上的元素。行中元素的打包(由 box-pack 属性指定)也为每行独立计算。

语法

css
/* Keyword values */
box-lines: single;
box-lines: multiple;

/* Global values */
box-lines: inherit;
box-lines: initial;
box-lines: unset;

box-lines 属性指定为下面列出的关键字值之一。

single

盒子元素布局为单行或单列。

multiple

盒子元素布局为多行或多列。

正式定义

初始值single
应用于盒子元素
继承性
计算值同指定值
动画类型离散

正式语法

box-lines = 
single |
multiple

示例

基本用法示例

在规范的原始版本中,box-lines 允许您指定弹性容器的子元素应换行到多行。这仅在基于 WebKit 的浏览器中受支持,并带有前缀。

css
div {
  display: box;
  box-orient: horizontal;
  box-lines: multiple;
}

现代弹性盒的等效属性是 flex-wrap

规范

不属于任何标准。

浏览器兼容性

另见