CSS 网格模板

问题描述 投票:0回答:1

我想使用网格创建此模板:

我是网格新手,我不知道属性以及如何明智地使用它来创建这个模板我正在研究 Flex 属性,但我不知道如何使用 Flex 来实现这一点,所以我正在尝试使用网格。

我尝试在网上搜索有关网格的信息,并得到了一些推荐,使用了我根据我的要求进行修改的推荐,这里是代码。

.co-sculpting-grid {
  display: grid;
  grid-template-columns: minmax(0, 264px) minmax(0, 369px) minmax(0, 465px);
  grid-template-rows: minmax(0, 264px) minmax(0, 264px);
  grid-gap: 24px;
}

.co-sculpting-grid>div {
  background-color: floralwhite;
  padding: 20px 0;
  font-size: 18px;
  border: 1px solid black;
  display: flex;
  justify-content: center;
  align-items: center;
}

.item1 {
  grid-row-start: 1;
  grid-row-end: 2;
}

.item2 {
  grid-row-start: 2;
  grid-row-end: 3;
}

.item3 {
  grid-row-start: 1;
  grid-row-end: 3;
}

.item4 {
  grid-row-start: 1;
  grid-row-end: 2;
  max-width: 264px;
}

.item5 {
  grid-row-start: 2;
  grid-row-end: 3;
}
<div className="co-sculpting-grid">
  <div className="item1"></div>
  <div className="item2"></div>
  <div className="item3"></div>
  <div className="item4"></div>
  <div className="item5"></div>
</div>

这里的 item4 占据与 item5 相同的宽度,但它应该是 item5 的 60% 也需要在所有视口中响应第三列应该与所附图像相同。

谢谢你。

html css templates grid
1个回答
0
投票

您可以尝试使用 grid-columngrid-row

.grid {
  display: grid;
  grid-template-columns: repeat(8, 1fr);
  gap: 8px;
  width: 100%;
  min-height: 100vh;
}

.box {
  width: 100%;
  height: 100%;
  background: red;
  border-radius: 8px;
}

.box:nth-child(1), .box:nth-child(4) {
  grid-column: 1 / 3;
}

.box:nth-child(2) {
  grid-column: 3 / 6;
  grid-row: 1 / 3;
}

.box:nth-child(3) {
  grid-column: 6 / 8;
}

.box:nth-child(5) {
  grid-column: 6 / 9;
}
<div class="grid">
  <div class="box"></div>
  <div class="box"></div>
  <div class="box"></div>
  <div class="box"></div>
  <div class="box"></div>
</div>

© www.soinside.com 2019 - 2024. All rights reserved.