【发布时间】:2018-05-07 18:29:32
【问题描述】:
我正在使用 CSS 网格创建布局,并且我希望每行之间有不同的空间。
我可以通过在每个元素上使用边距来很好地创建布局,但这会掩盖代码的简单性。是否有任何网格技巧我可以做到这一点,grid-row-gap 似乎只取一个值,它用于所有行。
我想要实现的是这样的布局:
https://jsfiddle.net/8swzgk0b/1/
.grid {
display: grid;
grid-template-columns: auto 25% 25%;
grid-template-rows: auto auto auto;
width 100%;
margin: 20px;
grid-column-gap: 40px;
/* grid-row-gap: 40px 60px; */
}
div {
background: #838383;
height: 80px;
}
.wide {
grid-column: 1 / span 3;
margin-bottom: 5px;
}
.row-2 {
background: green;
margin-bottom: 10px;
}
.row-3 {
background: blue;
margin-bottom: 30px;
}
.row-4 {
background: red;
margin-bottom: 20px;
}
<div class="grid">
<div class="wide"></div>
<div class="row-2"></div>
<div class="row-2"></div>
<div class="row-2"></div>
<div class="row-3"></div>
<div class="row-3"></div>
<div class="row-3"></div>
<div class="row-4"></div>
<div class="row-4"></div>
<div class="row-4"></div>
</div>
【问题讨论】:
-
我也想要。我有一个布局,除了标题行和下一行之间的所有间隙都很好。差距太大了,margin帮不了我。