Warm tip: This article is reproduced from serverfault.com, please click

html-如何使用3个不同的head元素创建CSS GRID

(html - How to create a CSS GRID with 3 distinct head elements)

发布于 2020-12-04 09:40:51

我使用CSS显示列表:网格,如下所示 在此处输入图片说明

我的任务必须进行编辑,以便列表在PC上显示时看起来像这样,而在我的手机上,列表看起来像第一个图像。前三个元素将大于其余元素。响应迅速的支持

在此处输入图片说明

这是我的代码:

HTML:

.grid {
    width: 638px;
    display: grid;
    grid-row-gap: 68px;
    grid-column-gap: 12px;
    grid-template-rows: auto auto;
    grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
    justify-content: space-between;
}

.item {
   border: 3px solid green;
   width: auto;
   height: 150px;
}
<div class="grid">
  <div class="item"></div>
  <div class="item"></div>
  <div class="item"></div>
  <div class="item"></div>
  <div class="item"></div>
  <div class="item"></div>
  <div class="item"></div>
  <div class="item"></div>
  <div class="item"></div>
  <div class="item"></div>
  <div class="item"></div>
  <div class="item"></div>
</div>

我想修复它,但是它不起作用,谢谢大家!

Questioner
Tran Thai Hoang
Viewed
11
G-Cyrillus 2020-12-04 18:38:50

你可以从12列的网格中重新考虑它,并重设跨越该项目的网格-列。

可能的例子

.grid {
    width: 638px;
    display: grid;
    grid-row-gap: 68px;
    grid-column-gap: 12px;
    grid-template-rows: auto auto;
    grid-template-columns: repeat(auto-fit, minmax(35px, 1fr));/* 35 x 4 = 140 */
    justify-content: space-between;
}

.item {
   border: 3px solid #4285F4;
   border-radius:3px;
   width: auto;
   height: 150px;
   grid-column:auto / span 4; /* about 35px X 4 of width */
   margin-right:8px;
}
.item:nth-child(3), .item:nth-child(3)~.item {
margin-right:0;
}
.item:nth-child(3)~.item {
grid-column:auto / span 3;
}
<div class="grid">
  <div class="item"></div>
  <div class="item"></div>
  <div class="item"></div>
  <div class="item"></div>
  <div class="item"></div>
  <div class="item"></div>
  <div class="item"></div>
  <div class="item"></div>
  <div class="item"></div>
  <div class="item"></div>
  <div class="item"></div>
  <div class="item"></div>
</div>

跨列规则和网格模板列可以通过你想要使用的媒体重置。