此问题已在此处有答案:
How to set a percentage height value in HTML/CSS(7个回答)
1年前关闭。
我尝试使用CSS变量来控制::before
元素的宽度、高度和边距。宽度和边距都可以,但高度为0。
有没有办法解决?怎么了?
html {
--red_W: 80%;
--red_H: calc(var(--red_W) / 4);
--red_H_neg: calc(var(--red_H) * -1);
}
.bottomline {
margin-top: var(--red_H);
text-align: center;
border-top: 10px solid green;
}
.inside::before{
content: '';
background-color: red;
width: var(--red_W);
height: var(--red_H); /*this does not seem to work*/
margin: var(--red_H_neg) auto 0;
display: block;
position: relative;
}
<div class="bottomline">
<div class="inside">
</div>
</div>
1条答案
按热度按时间yzuktlbb1#
@Paulie_D是正确的,你必须有一个可计算高度的父母,才能使用高度的百分比值。因为它是一个伪元素,所以需要定位的父元素是
.inside
元素。因此,为了明确如何修复它,您可以执行以下操作: