為列新增樣式

由於在多列(multicol)容器內建立的列框是匿名框,因此無法單獨為每列設定樣式,但我們可以為列之間的間隙和整個容器設定樣式。本指南將解釋如何更改列之間的間隙和樣式規則。

列間隙

列之間的間隙透過 column-gapgap 屬性控制。column-gap 屬性定義在 多列布局 模組中。gap 屬性定義在 盒模型對齊 模組中。這是一個統一的屬性,用於定義所有支援間隙的佈局(包括 CSS 網格佈局CSS 彈性盒佈局)中盒之間的間隙。

column-gap 的初始值為 1em,這可以防止列相互重疊。在其他佈局方法中,column-gap 作為 gap 的同義詞受支援,但初始值為 0。關鍵字值 normalcolumn-gap 設定為初始值。

您可以使用任何 <length> 值來更改間隙。在下面的示例中,column-gap 設定為 40px

html
<div class="container">
  <p>
    Veggies es bonus vobis, proinde vos postulo essum magis kohlrabi welsh onion
    daikon amaranth tatsoi tomatillo melon azuki bean garlic.
  </p>
  <p>
    Gumbo beet greens corn soko endive gumbo gourd. Parsley shallot courgette
    tatsoi pea sprouts fava bean collard greens dandelion okra wakame tomato.
    Dandelion cucumber earthnut pea peanut soko zucchini.
  </p>
  <p>
    Turnip greens yarrow ricebean rutabaga endive cauliflower sea lettuce
    kohlrabi amaranth water spinach avocado daikon napa cabbage asparagus winter
    purslane kale. Celery potato scallion desert raisin horseradish spinach
    carrot soko.
  </p>
</div>
css
body {
  font: 1.2em / 1.5 sans-serif;
}

.container {
  column-count: 3;
  column-gap: 40px;
}

column-gap 允許的值是 <length-percentage>,這意味著允許使用百分比。column-gap 的百分比值是作為多列容器寬度的百分比計算的。

列規則

規範定義了 column-rule-widthcolumn-rule-stylecolumn-rule-color,並提供了一個簡寫 column-rule。這些屬性的工作方式與 border 屬性完全相同:任何 <line-style> 都可以用作 column-rule-style,就像有效的 border-style 一樣。

這些屬性應用於作為多列容器的元素,因此所有列都將具有相同的規則。規則只繪製在列之間,而不繪製在外邊緣。規則也只繪製在有內容的列之間。

在下一個示例中,使用長格式值建立了一個 5px 點狀規則,顏色為 rebeccapurple

css
body {
  font: 1.2em / 1.5 sans-serif;
}

.container {
  column-count: 3;
  column-rule-width: 5px;
  column-rule-style: dotted;
  column-rule-color: rebeccapurple;
}

請注意,規則本身不佔用任何空間:寬規則不會將列推開以騰出空間。相反,規則覆蓋在間隙上。

下面的示例使用了一個非常寬的 40px 規則和 10px 的間隙。規則顯示在列內容的下方。為了在規則兩側留出空間,間隙需要增加到大於 40px

css
body {
  font: 1.2em / 1.5 sans-serif;
}

.container {
  column-count: 3;
  column-gap: 10px;
  column-rule: 40px solid rebeccapurple;
}

後續步驟

本文詳細介紹了當前所有可以設定列框樣式的方法。在下一個指南中,我們將探討如何使容器內的元素 跨越所有列