为什么我的网格中最后一项的高度会影响顶级网格项目的宽度?
https://jsfiddle.net/nqfzks6m/1/1/
上面是我的网格的jsfiddle。如您所见,如果将Card-4-content的高度更改为50px,则卡1稍宽,卡2的宽度较小。是什么原因造成的?网格模板列设置为“自动自动自动自动”。我看不出为什么底行的高度会影响顶级行的宽度。
.base-card {
border: 1px solid black;
}
.card-1 {
grid-area: card-1;
background-color: red;
}
.card-2 {
grid-area: card-2;
background-color: blue;
}
.card-3 {
grid-area: card-3;
background-color: purple;
}
.card-4 {
grid-area: card-4;
background-color: pink;
}
.card-4-content {
height: 50px;
}
.container {
display: grid;
grid-template-columns: auto auto auto auto;
grid-gap: 25px;
grid-template-rows: 155px 160px auto auto;
grid-template-areas: "card-1 card-1 card-2 card-2" "card-1 card-1 card-2 card-2" "card-3 card-3 card-3 card-3" "card-4 card-4 card-4 card-4";
}
<div class="container">
<div class="card-1">
<div class="base-card">
card-1
</div>
</div>
<div class="card-2">
<div class="base-card">
card-2
</div>
</div>
<div class="card-3">
<div class="base-card">
card-3
</div>
</div>
<div class="card-4">
<div class="base-card card-4-content">
card-4
</div>
</div>
</div>
https://jsfiddle.net/nqfzks6m/1/
above is the jsfiddle for my grid. As you can see, if you change the height of card-4-content to 50px, card 1 becomes slightly wider and card 2 becomes less wide. What is causing this? The grid template columns are set to "auto auto auto auto". I can't see why the height of the bottom row would affect the width of the top level row.
.base-card {
border: 1px solid black;
}
.card-1 {
grid-area: card-1;
background-color: red;
}
.card-2 {
grid-area: card-2;
background-color: blue;
}
.card-3 {
grid-area: card-3;
background-color: purple;
}
.card-4 {
grid-area: card-4;
background-color: pink;
}
.card-4-content {
height: 50px;
}
.container {
display: grid;
grid-template-columns: auto auto auto auto;
grid-gap: 25px;
grid-template-rows: 155px 160px auto auto;
grid-template-areas: "card-1 card-1 card-2 card-2" "card-1 card-1 card-2 card-2" "card-3 card-3 card-3 card-3" "card-4 card-4 card-4 card-4";
}
<div class="container">
<div class="card-1">
<div class="base-card">
card-1
</div>
</div>
<div class="card-2">
<div class="base-card">
card-2
</div>
</div>
<div class="card-3">
<div class="base-card">
card-3
</div>
</div>
<div class="card-4">
<div class="base-card card-4-content">
card-4
</div>
</div>
</div>
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论