这个问题需要了解一下position
中relative和absolute的区别 还有这个和%
百分号的问题.
简短的讲一下:
relative不会脱离normal float, 他的height会直接依赖直接父元素(em单位也是), 所以百分比计算出来的高度是依照父元素继承
的.
absolute会脱离normal float, 即该元素会直接以root标签
(类似window但不是<html>标签)进行参照,而root标签的高度存在具体数值, 即浏览器视窗高度, 有明确px值
.
例子在这:
html,body高度为0, 但是abosolute后依然能全屏显示.
codepen
如果一定要relative格式, 那么加上这两个
html, css {
height: 100%;
}
3 回答1.6k 阅读✓ 已解决
4 回答1.4k 阅读✓ 已解决
2 回答1k 阅读✓ 已解决
2 回答1.7k 阅读✓ 已解决
4 回答1.7k 阅读
2 回答1.5k 阅读✓ 已解决
2 回答999 阅读✓ 已解决
不加定位height:100%,因为继承body,body没有设置高度,高度就为0。