CSS column-gap 属性用来设置元素列之间的间隔({{glossary("gutters","gutter")}})大小。
{{InteractiveExample("CSS Demo: column-gap")}}
```css interactive-example-choice column-gap: 0;
```css interactive-example-choice
column-gap: 10%;
```css interactive-example-choice column-gap: 1em;
```css interactive-example-choice
column-gap: 20px;
```html interactive-example
One
Two
Three
Four
Five
```css interactive-example
#example-element {
border: 1px solid #c5c5c5;
display: grid;
grid-template-columns: 1fr 1fr;
width: 200px;
}
#example-element > div {
background-color: rgba(0, 0, 255, 0.2);
border: 3px solid blue;
}
column-gap 一开始是 Multi-column 布局下的特有属性,后来在其他布局中也使用这个属性。如 CSS 盒子对齐中的表述,该属性已经可以在 Multi-column(多列布局)、Flexible Box(弹性盒子)以及 Grid layout(网格布局)中使用。
语法
/* Keyword value */
column-gap: normal;
/* <length> values */
column-gap: 3px;
column-gap: 2.5em;
/* <percentage> value */
column-gap: 3%;
/* Global values */
column-gap: inherit;
column-gap: initial;
column-gap: revert;
column-gap: revert-layer;
column-gap: unset;
column-gap 属性可以用以下值来表示。
取值
normal- : 表示列之间的间隔宽度。在
多列布局时默认间隔为1em,其他类型布局默认间隔为 0。
- : 表示列之间的间隔宽度。在
- {{cssxref("<length>")}}
- : 用 {{cssxref("<length>")}} 来定义列之间的间隔大小。而且 {{cssxref("<length>")}} 值必须是非负数的。
- {{cssxref("<percentage>")}}
- : 用 {{cssxref("<percentage>")}}(百分比)来定义列之间的间隔大小。同样的,{{cssxref("<percentage>")}} 值也必须是非负数的。
形式定义
{{cssinfo}}
形式语法
{{csssyntax}}
示例
Flex 布局
HTML
<div id="flexbox">
<div></div>
<div></div>
<div></div>
</div>
CSS
#flexbox {
display: flex;
height: 100px;
column-gap: 20px;
}
#flexbox > div {
border: 1px solid green;
background-color: lime;
flex: auto;
}
结果
{{EmbedLiveSample('Flex 布局', "auto", "120px")}}
Grid 布局
HTML
<div id="grid">
<div></div>
<div></div>
<div></div>
</div>
CSS
#grid {
display: grid;
height: 100px;
grid-template-columns: repeat(3, 1fr);
grid-template-rows: 100px;
column-gap: 20px;
}
#grid > div {
border: 1px solid green;
background-color: lime;
}
结果
{{EmbedLiveSample("Grid 布局", "auto", "120px")}}
Multi-column 布局
HTML
<p class="content-box">
This is some multi-column text with a 40px column gap created with the CSS
`column-gap` property. Don't you think that's fun and exciting? I sure do!
</p>
CSS
.content-box {
column-count: 3;
column-gap: 40px;
}
结果
{{EmbedLiveSample("Multi-column 布局", "auto", "120px")}}