首页 > 解决方案 > 显示网格模拟 flex-wrap

问题描述

我有下一个网格:

.item1 { grid-area: left; }
.item2 { grid-area: left2; }
.item3 { grid-area: main; }
.item4 { grid-area: right; }

.grid-container {
  display: grid;
  grid-template-areas:
    'left left main main main right'
    'left2 left2 main main main right';
  grid-gap: 10px;
  background-color: #2196F3;
  padding: 10px;
  grid-template-columns: repeat(auto-fill);

}

.grid-container > div {
  background-color: rgba(255, 255, 255, 0.8);
  text-align: center;
  padding: 20px 0;
  font-size: 30px;
}
<div class="grid-container">
  <div class="item1">left1</div>
  <div class="item2">left2</div>
  <div class="item3">Main</div>  
  <div class="item4">Right</div>
</div>

当屏幕变小时,如何为这个网格申请一个换行功能?
EX:当我调整屏幕大小时,块应该在一列中对齐(一个在一个之上)。

标签: htmlcss

解决方案


.item1 { grid-area: left; }
.item2 { grid-area: left2; }
.item3 { grid-area: main; }
.item4 { grid-area: right; }

.grid-container {
  display: grid;
  grid-template-areas:
    'left left main main main right'
    'left2 left2 main main main right';
  grid-gap: 10px;
  background-color: #2196F3;
  padding: 10px;
  grid-template-columns: repeat(auto-fill);

}

.grid-container > div {
  background-color: rgba(255, 255, 255, 0.8);
  text-align: center;
  padding: 20px 0;
  font-size: 30px;
}

@media only screen and (max-width: 600px) {
  .grid-container {
    display:flex;
    flex-direction:column;
  }
}
<div class="grid-container">
  <div class="item1">left1</div>
  <div class="item2">left2</div>
  <div class="item3">Main</div>  
  <div class="item4">Right</div>
</div>

尝试将此部分添加到您的代码中。

@media only screen and (max-width: 600px) {
  .grid-container {
    display:flex;
    flex-direction:column;
  }
}

推荐阅读