实现多栏布局
左边一个大模块,右边两个小模块垂直排列
1,使用grid-template-areas指定网格区域划分
<div class="grid-container">
<div class="item">1</div>
<div class="item">2</div>
<div class="item">3</div>
<div class="item">4</div>
<div class="item">5</div>
</div>
.grid-container{
display: grid;
grid-auto-flow: column;
grid-template: "a . ." 1fr "a . ." 1fr / 1fr 1fr 1fr;
grid-gap: 6px;
margin-bottom: 20px;
}
.grid-container .item{
width: 100%;
height: 100%;
background-color: deepskyblue;
}
.grid-container .item:first-child{
grid-area: a;
}
2,单个项目设置区间范围属性
<div class="container">
<div class="item">1</div>
<div class="item">2</div>
<div class="item">3</div>
<div class="item">4</div>
<div class="item">5</div>
</div>
.container{
display: grid;
grid-template: 1fr 1fr 1fr / 1fr 1fr 1fr;
grid-gap: 10px;
}
.container .item{
width: 100%;
height: 100%;
background-color: #2a80eb;
}
.container .item:first-child{
background-color: #ef342a;
grid-column-start: 2;
grid-column-end: 2;
grid-row-start: 1;
grid-row-end: 3;
}