What does % height in css mean
我有一个 div,其子 p 标签包含文本。
我希望
这行得通,它只是父级高度的
然后我想我可以添加 15%
Then I thought I could just add 15% margin-top or add 15% padding-top
(to the parent) to vertically center the p tag in the div... but I
find I need to set it to something like 3%.... how come?
因为百分比边距和填充(顶部、右侧、底部和左侧)是根据包含块的宽度计算的。
顶部和底部边距不是根据父级的高度计算的,这就是为什么 15%
解决方法:
您可以使用绝对或相对定位,因为父级具有固定的高度,并且百分比的最大值是根据父级的高度计算的,因此
您可以使用定位来实现这一点。因此,不要设置 p 元素的高度,而是允许定位为您执行此操作(通过添加
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | div{ height:200px; background:yellow; position:relative; } p{ position:absolute; width:100%; background:red; top:15%; bottom:15%; overflow:auto; } |
1 2 3 | <p> i'm a long p. i'm a long p. i'm a long p. i'm a long p. i'm a long p. i'm a long p. i'm a long p. i'm a long p. i'm a long p. i'm a long p. i'm a long p. i'm a long p. i'm a long p. i'm a long p. i'm a long p. i'm a long p. i'm a long p. i'm a long p. i'm a long p. i'm a long p. i'm a long p. i'm a long p. i'm a long p. i'm a long p. i'm a long p. i'm a long p. i'm a long p. i'm a long p. i'm a long p. i'm a long p. i'm a long p. i'm a long p. i'm a long p. i'm a long p. i'm a long p. i'm a long p. i'm a long p. i'm a long p. i'm a long p. i'm a long p. i'm a long p. i'm a long p. i'm a long p. i'm a long p. i'm a long p. i'm a long p. i'm a long p. i'm a long p. i'm a long p. i'm a long p. i'm a long p. i'm a long p. i'm a long p. i'm a long p. i'm a long p. i'm a long p. i'm a long p. i'm a long p. i'm a long p. i'm a long p. i'm a long p. i'm a long p. i'm a long p. i'm a long p. i'm a long p. i'm a long p. i'm a long p. i'm a long p. i'm a long p. </p> |