--- title: gap (grid-gap) slug: Web/CSS/gap tags: - CSS - CSS Flexible Boxes - CSS Grid translation_of: Web/CSS/gap ---
gap
属性是用来设置网格行与列之间的间隙({{glossary("gutters")}}),该属性是{{cssxref("row-gap")}} and {{cssxref("column-gap")}}的简写形式。
CSS Grid Layout 起初是用 {{cssxref('grid-gap')}} 属性来定义的,目前逐渐被 gap
替代。但是,为了兼容那些不支持 gap
属性的浏览器,你需要像上面的例子一样,使用带有前缀的属性。
/* One <length> value */ gap: 20px; gap: 1em; gap: 3vmin; gap: 0.5cm; /* One <percentage> value */ gap: 16%; gap: 100%; /* Two <length> values */ gap: 20px 10px; gap: 1em 0.5em; gap: 3vmin 2vmax; gap: 0.5cm 2mm; /* One or two <percentage> values */ gap: 16% 100%; gap: 21px 82%; /* calc() values */ gap: calc(10% + 20px); gap: calc(20px + 10%) calc(10% - 5px); /* Global values */ gap: inherit; gap: initial; gap: unset;
该属性用来表示 <'row-gap'>
和 <'column-gap'>
的值,而<'column-gap'>
是可选的,假如 <'column-gap'>
缺失的话,则会被设置成跟<'row-gap'>
一样的的值。
<'row-gap'>
and <'column-gap'>
都可以用 <length>
或者 <percentage>
来表示。
{{SeeCompatTable}}
<div id="flexbox"> <div></div> <div></div> <div></div> <div></div> <div></div> <div></div> </div>
#flexbox { display: flex; flex-wrap: wrap; width: 300px; gap: 20px 5px; } #flexbox > div { border: 1px solid green; background-color: lime; flex: 1 1 auto; width: 100px; height: 50px; }
{{EmbedLiveSample('Flex布局', "auto", "120px")}}
<div id="grid"> <div></div> <div></div> <div></div> <div></div> <div></div> <div></div> <div></div> <div></div> <div></div> </div>
#grid { display: grid; height: 200px; grid-template: repeat(3, 1fr) / repeat(3, 1fr); gap: 20px 5px; } #grid > div { background-color: lime; }
{{EmbedLiveSample('Grid布局', 'auto', 120)}}
<p class="content-box"> This is some multi-column text with a 40px column gap created with the CSS <code>gap</code> property. Don't you think that's fun and exciting? I sure do! </p>
.content-box { column-count: 3; gap: 40px; }
{{EmbedLiveSample("多列布局", "auto", "120px")}}
规范 | 状态 | 备注 |
---|---|---|
{{SpecName("CSS3 Box Alignment", "#propdef-gap", "gap")}} | {{Spec2("CSS3 Box Alignment")}} | Initial definition |
{{cssinfo}}
{{Compat("css.properties.gap.flex_context")}}
{{Compat("css.properties.gap.grid_context")}}
{{Compat("css.properties.gap.multicol_context")}}