gpt4 book ai didi

html - 设置 CSS 网格中第一行的高度

转载 作者:可可西里 更新时间:2023-11-01 13:42:24 26 4
gpt4 key购买 nike

我有一个使用 display: grid 的基本 CSS 网格,我无法使用 grid-template-rows 设置第一行的高度。

我的 HTML/CSS 大致如下所示:

.gridWrapper {
display: grid;
height: 100vh;
grid-template-rows: 20px auto auto;
}

.row1 {
grid-row-end: 1;
background-color: lightslategray;
}

.row2 {
grid-row-end: 2;
background-color: lightblue;
}

.row3 {
grid-row-end: 3;
background-color: lightskyblue;
}

.col1 {
grid-column-end: 1;
}

.col2 {
grid-column-end: 2;
}
<div class="gridWrapper">
<div class="row1 col1">Col1</div>
<div class="row1 col2">Col2</div>
<div class="row2 col1">A</div>
<div class="row2 col2">B</div>
<div class="row3 col1">D</div>
<div class="row3 col2">D</div>
</div>

然而,它的结果是:

2nd row gets styled, rather than 1st

这发生在最新的 Chrome 和 Safari 中(我在 Mac 上),这让我相信我误解了一些关于 gridlayout CSS 的东西。

如何设置第一行的高度?

最佳答案

您正在定义 grid-row-end 属性,但您正在使用 grid-row-start 行。这就是为什么事情没有按您预期的那样进行。

如果您希望 .row1 元素覆盖第一行,那么您需要它们跨越该行——这意味着从第 1 行到第 2 行。

所以不是这个:

  • grid-row-end: 1

使用以下任何一个:

  • grid-row-start: 1
  • grid-row-end: 2
  • 网格行:1/2

.gridWrapper {
display: grid;
height: 100vh;
grid-template-rows: 20px auto auto;
}

.row1 {
/* grid-row-end: 1; */
grid-row-end: 2; /* new */
background-color: lightslategray;
}

.row2 {
/* grid-row-end: 2; */
grid-row-end: 3; /* new */
background-color: lightblue;
}

.row3 {
/* grid-row-end: 3; */
grid-row-end: 4; /* new */
background-color: lightskyblue;
}

.col1 {
/* grid-column-end: 1; */
grid-column-end: 2; /* new */
}

.col2 {
/* grid-column-end: 2; */
grid-column-end: 3; /* new */
}
<div class="gridWrapper">
<div class="row1 col1">Col1</div>
<div class="row1 col2">Col2</div>
<div class="row2 col1">A</div>
<div class="row2 col2">B</div>
<div class="row3 col1">D</div>
<div class="row3 col2">D</div>
</div>

关于html - 设置 CSS 网格中第一行的高度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53573791/

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