创建CSS网格布局

2022-04-02 00:00:00 css css-grid

我需要使用下图中的CSS网格创建一个布局,分辨率高于900px:-

对于900px以下的分辨率,我需要布局如下

到目前为止,我已经尝试过了:-

.container {
   display: grid;
   grid-template-columns: 250px auto 250px;
   grid-column-gap: 1rem;
 }

上面的代码创建了图像1,但我无法更改它以适应低于900px(Image2)的布局更改。

如何在CSS网格中创建此布局,以便创建上图中提到的布局?

您可以在此处找到我的代码: jsfiddle


解决方案

grid-template-areas应该更容易使用

数据-lang="js"数据-隐藏="假"数据-控制台="真"数据-巴贝尔="假">
.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>

相关文章