我想使用网格创建此模板:
我是网格新手,我不知道属性以及如何明智地使用它来创建这个模板我正在研究 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% 也需要在所有视口中响应第三列应该与所附图像相同。
谢谢你。
您可以尝试使用 grid-column 和 grid-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>