box-lines

非标准:此功能是非标准的,并且不在标准轨道上。不要在面向 Web 的生产站点上使用它:它不会对每个用户都起作用。实现之间也可能存在很大的不兼容性,并且行为在未来可能会发生变化。

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

警告:这是原始 CSS 弹性盒子布局模块草案的属性。它已在规范中被替换。有关当前标准的信息,请参阅flexbox

box-lines CSS 属性确定盒子是否可以具有单行或多行(对于水平方向的盒子为行,对于垂直方向的盒子为列)。

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

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

如果水平盒子中的子元素在缩小到最小宽度后仍然无法在一行中显示,则子元素将逐个移动到新的一行,直到前一行剩余的元素能够容纳。这个过程可以重复任意多行。如果一行只包含一个无法容纳的元素,则该元素应保留在该行并溢出盒子。后面的行在普通方向的盒子中放置在前面行的下方,在反向方向的盒子中放置在上方。一行的高度是该行中最高子元素的高度。除了每行中最高元素上的边距外,行之间不会出现额外的空间。在计算行高时,计算值为 auto 的边距应视为值为 0。

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

确定行数后,计算值为非 0box-flex 元素会根据需要进行拉伸,以尝试填充行中剩余的空间。每行独立计算 flex,因此在评估 box-flexbox-flex-groups 时,只会考虑该行上的元素。由 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;
}

现代 flexbox 等价物是 flex-wrap

规范

不属于任何标准。

浏览器兼容性

BCD 表格仅在浏览器中加载

另请参阅