gpt4 book ai didi

css 网格 - 元素的可变跨度

转载 作者:行者123 更新时间:2023-11-28 10:09:34 24 4
gpt4 key购买 nike

我正在尝试做以下网格:

1/3 | 1/3 | 1/3   (3 equal elements)
1/2 | 1/2 (2 equal elements)
1/2 | 1/2 (2 equal elements)

出于这个原因,我需要将每一行分成 6 列以容纳 1/2 和 1/3。当我想设置每个元素占用多少列时,我似乎误解了 grid-column 命令。以下代码无法正常工作。

.grid-front {
display: grid;
grid-template-columns: repeat(6, 1fr);
grid-template-rows: 1fr 1fr 1fr;
grid-gap: 1em;
}

.grid-front > div {
background-color: red;
}
.top-left {
grid-column: 1 / 3;
}

.top-centre {
grid-column: 3 / 5;
}

.top-centre {
grid-column: 5 / 7;
}
<section class="grid-front">
<div class="top-left">1</div>
<div class="top-centre">2</div>
<div class="top-right">3</div>
<div class="middle-left">4</div>
<div class="middle-right">5</div>
<div class="bottom-ll">6</div>
<div class="bottom-lr">7</div>
<div class="bottom-right">8</div>
</section>

它显示所有网格元素。第一个元素(左上角)占用 2 个“空格”,然后在第二个元素所在的位置有一个白色间隙(跨越 2 个空格)。然后是第三个元素所在的第二个元素(跨越 2 个空格)。然后是剩余的元素均匀分布在第二行。

我对它有什么误解?

最佳答案

您已将 .top-centre 声明为 2x。第二个版本覆盖第一个。

.grid-front {
display: grid;
grid-template-columns: repeat(6, 1fr);
grid-template-rows: 1fr 1fr 1fr;
grid-gap: 1em;
}

.grid-front>div {
background-color: red;
}

.top-left {
grid-column: 1 / 3;
}

.top-centre {
grid-column: 3 / 5;
}

/* ADJUSTMENT */
.top-right {
grid-column: 5 / 7;
}
<section class="grid-front">
<div class="top-left">1</div>
<div class="top-centre">2</div>
<div class="top-right">3</div>
<div class="middle-left">4</div>
<div class="middle-right">5</div>
<div class="bottom-left">6</div>
<div class="bottom-right">7</div>
</section>

关于css 网格 - 元素的可变跨度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51600364/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com