- 相关CSS属性: {{cssxref("row-gap")}}, {{cssxref("gap")}}
- Grid 布局指南: Basic concepts of grid layout - Gutters
- Multi-column 布局指南: Styling Columns
--- title: column-gap slug: Web/CSS/column-gap translation_of: Web/CSS/column-gap ---
column-gap 该 CSS 属性用来设置元素列之间的间隔 ({{glossary("gutters","gutter")}}) 大小。
column-gap一开始是 Multi-column 布局 下的特有属性,后来在其他布局中也使用这个属性。如 Box Alignment 中的表述,该属性已经在Multi-column(多列布局)、Flexible Box(弹性盒子)以及 Grid layouts(网格布局)中使用。
CSS Grid Layout 起初是用 grid-gap 属性来定义的,目前逐渐被 gap 替代。但是,为了兼容那些不支持 gap 属性的浏览器,你需要像上面的例子一样使用带有前缀的属性。
/* 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: unset;
column-gap 属性有以下值来表示。
normal
多列布局 时默认间隔为1em,其他类型布局默认间隔为 0。{{SeeCompatTable}}
<div id="flexbox"> <div></div> <div></div> <div></div> </div>
#flexbox {
display: flex;
height: 100px;
column-gap: 20px;
}
#flexbox > div {
background-color: lime;
flex: auto;
}
{{EmbedLiveSample('Flex布局', "auto", "120px")}}
<div id="grid"> <div></div> <div></div> <div></div> </div>
#grid {
grid-column-gap: 20px;
}
#grid {
display: grid;
height: 100px;
grid-template-columns: repeat(3, 1fr);
grid-template-rows: 100px;
column-gap: 20px;
}
#grid > div {
background-color: lime;
}
{{EmbedLiveSample("Grid布局", "auto", "120px")}}
<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>
.content-box {
column-count: 3;
column-gap: 40px;
}
{{EmbedLiveSample("Multi-column布局", "auto", "120px")}}
| 规范 | 状态 | 备注 |
|---|---|---|
| {{SpecName("CSS3 Box Alignment", "#column-row-gap", "column-gap")}} | {{Spec2("CSS3 Box Alignment")}} | 在弹性布局和网格布局中应用 |
| {{SpecName("CSS3 Grid", "#gutters", "column-gap")}} | {{Spec2("CSS3 Grid")}} | 描述在网格布局中的作用 |
| {{SpecName("CSS3 Multicol", "#column-gap", "column-gap")}} | {{Spec2("CSS3 Multicol")}} | 初始化定义 |
{{cssinfo}}
{{Compat("css.properties.column-gap.flex_context")}}
{{Compat("css.properties.column-gap.grid_context")}}
{{Compat("css.properties.column-gap.multicol_context")}}