创建CSS网格布局
我需要使用下图中的CSS网格创建一个布局,分辨率高于900px:-
对于900px以下的分辨率,我需要布局如下
到目前为止,我已经尝试过了:-
.container {
display: grid;
grid-template-columns: 250px auto 250px;
grid-column-gap: 1rem;
}
上面的代码创建了图像1,但我无法更改它以适应低于900px(Image2)的布局更改。
如何在CSS网格中创建此布局,以便创建上图中提到的布局?
您可以在此处找到我的代码: jsfiddle
解决方案
grid-template-areas
应该更容易使用
.item1 { grid-area: box1; }
.item2 { grid-area: box2; }
.item3 { grid-area: list; }
.item4 { grid-area: box3; }
.grid-container {
display: grid;
grid-template-areas:
'box1 list box3'
'box2 list box3';
grid-gap: 10px;
background-color: #2196F3;
padding: 10px;
}
.grid-container > div {
background-color: rgba(255, 255, 255, 0.8);
text-align: center;
padding: 20px 0;
font-size: 30px;
}
@media screen and (max-width: 900px) {
.grid-container {
grid-template-areas:
'box1 list'
'box2 list'
'box3 list';
}
}
<div class="grid-container">
<div class="item1">Box 1</div>
<div class="item2">Box 2</div>
<div class="item3">List</div>
<div class="item4">Box 3</div>
</div>
相关文章