使网格单元格内容填充单元格,而不丢失流动布局

问题描述 投票:0回答:1
css css-grid
1个回答
0
投票

好吧,我不确定这是否是您想要的,但让我们尝试一下。

所以我想为什么你不能使用简单的 height:100% 来表示 p 元素?

但是后来我明白高度开始超出div,那是因为当你将高度设置为100%时,它是根据其主容器的高度计算的,不包括填充,并且你在.card

上得到了0.5em填充

因此,我尝试通过更改高度的百分比来适应它,当我将其设置为 76% 之类的值时,效果非常好。但?但如果内容改变了怎么办?现在已经不好用了。

这个问题的解决方案是 calc 函数。它可以帮助从 100% 高度减去填充。你可以尝试这样的事情:

height: calc(100% - 1.75em)

它几乎填充了 div 的 100%,并且当内容改变高度时它可以工作。

最终的CSS:

.cards {
display: grid;
grid-template-columns: repeat(2,15em);
padding: 0.5em;
gap: 0.5em;
}
.cards > div {
border: 1px solid blue;
}
h2 {
margin: 0;
border-bottom: 1px solid green;
}
aside {
float:right;
border: 1px solid red;
}
p {
margin: 0;
background-color: yellow;
height: calc(100% - 1.75em)
}
© www.soinside.com 2019 - 2024. All rights reserved.