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

規範

不屬於任何標準。

瀏覽器相容性

另見