这是一个css-noob问题,但我不明白:为什么下面的代码没有显示外部div的任何填充?
<html>
<style>
div {
border: 1px solid red;
padding:10em 30em 10em 30em;
font-size:0px;
}
a {
font-size:1rem;
}
</style>
<body>
<div>
<a href="#">hello</a>
</div>
</body>
</html>
如果删除font-size属性,您将看到填充。但是为什么font-size会影响填充?
答案 0 :(得分:4)
您已经以em
为单位设置了填充,该填充是根据应用它的元素的基本字体大小计算的,您已将字体大小设置为0px
,因此计算出的输出对于em
单位为0(假设为10em x 0(px)),因此填充的大小为0
。
您可以使用rem
代替em
。 rem
基于文档的root
或HTML
标记的字体大小。因此,如果您需要使用em
,但元素上的强制字体大小不正确,请在HTML
代码上设置根字体大小,并在需要时使用rem
代替{{1 }}
答案 1 :(得分:1)