gap (grid-gap) - CSS(层叠样式表) 编辑
gap
属性是用来设置网格行与列之间的间隙(gutters),该属性是row-gap
and column-gap
的简写形式。
The source for this interactive example is stored in a GitHub repository. If you'd like to contribute to the interactive examples project, please clone https://github.com/mdn/interactive-examples and send us a pull request.
CSS Grid Layout 起初是用 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>
来表示。
值
<length>
- 网格线之间的间隙宽度。
<percentage>
- 网格线直接的间隙宽度,相对网格容器的百分比。
正式语法
<'row-gap'> <'column-gap'>?
示例
Flex布局
这是一个实验中的功能
此功能某些浏览器尚在开发中,请参考浏览器兼容性表格以得到在不同浏览器中适合使用的前缀。由于该功能对应的标准文档可能被重新修订,所以在未来版本的浏览器中该功能的语法和行为可能随之改变。
HTML
<div id="flexbox">
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
</div>
CSS
#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;
}
Result
Grid布局
HTML
<div id="grid">
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
</div>
CSS
#grid {
display: grid;
height: 200px;
grid-template: repeat(3, 1fr) / repeat(3, 1fr);
gap: 20px 5px;
}
#grid > div {
background-color: lime;
}
Result
多列布局
HTML
<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>
CSS
.content-box {
column-count: 3;
gap: 40px;
}
Result
规范
规范 | 状态 | 备注 |
---|---|---|
CSS Box Alignment Module Level 3 gap | Working Draft | Initial definition |
初始值 | as each of the properties of the shorthand:
|
---|---|
适用元素 | multi-column elements, flex containers, grid containers |
是否是继承属性 | 否 |
计算值 | as each of the properties of the shorthand:
|
Animation type | as each of the properties of the shorthand:
|
浏览器兼容性
The compatibility table on this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.在Flex 布局的兼容性
BCD tables only load in the browser
在Grid layout的兼容性
BCD tables only load in the browser
多列布局的兼容性
BCD tables only load in the browser
参见
- Related CSS properties:
row-gap
,column-gap
- Grid Layout Guide: Basic concepts of grid layout - Gutters
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论