gap
版本:CSS3
CSS属性 gap 是用来设置网格行与列之间的间隙(gutters),该属性是row-gap and column-gap的简写形式。
示例
/* Onevalue */ gap: 20px; gap: 1em; gap: 3vmin; gap: 0.5cm; /* One value */ gap: 16%; gap: 100%; /* Two values */ gap: 20px 10px; gap: 1em 0.5em; gap: 3vmin 2vmax; gap: 0.5cm 2mm; /* One or two 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;
浏览器支持
![]() | ![]() | ![]() | ![]() | ![]() |
在网格布局中,IE不支持gap,其余浏览器都支持gap | ||||
在多列布局中,IE不支持gap,其余浏览器都支持gap | ||||
在Flex 布局中,只有火狐浏览器都支持gap | ||||
语法
gap :<row-gap><column-gap>
- 该属性用来表示<row-gap>和<column-gap>的值,而<column-gap>是可选的,假如<column-gap>缺失的话,则会被设置成跟<row-gap>一样的的值。
- <row-gap> and<column-gap>都可以用
<length>或者<percentage>来表示。
取值
- <length>:网格线之间的间隙宽度。
- <percentage>:网格线直接的间隙宽度,相对网格容器的百分比。
实例
Flex布局
这是一个实验中的功能。此功能某些浏览器尚在开发中,请参考浏览器兼容性表格以得到在不同浏览器中适合使用的前缀。由于该功能对应的标准文档可能被重新修订,所以在未来版本的浏览器中该功能的语法和行为可能随之改变。
#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;
}
<div id="flexbox">
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
</div>

Grid布局
#grid {
display: grid;
height: 200px;
grid-template: repeat(3, 1fr) / repeat(3, 1fr);
gap: 20px 5px;
}
#grid > div {
background-color: lime;
}
<div id="grid">
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
</div>

多列布局
.content-box {
column-count: 3;
gap: 40px;
}
<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>






