div设置高度宽度满屏100%
1.body里的内容不满一屏时,body的高度满屏;
2.当内容超出屏幕高度时,内容的高度就是body的高度。
方法一:没有设置body的高度,内容不满屏,但是背景色却铺满整个屏幕,方法如下:
html {} // html不设置背景色
body { background: pink; }
*注:可是为什么我们在写项目的时候,却并没有达到这个效果,而是内容多高,body背景就是多高呢?
细心发现,html设置了一个背景色。
可是为什么html设置了背景色,body的满屏背景色却失效了呢?我猜测这可能是和浏览器的机制有关,浏览器会先找html有没有背景色,如果没有则往下查找body的,如果body有则取它来做底板的颜色。
方法二:
html, body { height: 100%; }
*注:如果内容没有超过屏幕的高度,是没有任何问题, 但是当内容高度大于屏幕高度时,body的高度被写死,高度和屏幕高度相等,并没有满足我们的需求;效果如图:
方法二:
<style>
html { height: 100%; overflow: auto; }
body { min-height: 100%; }
</style>
在视觉上,这个方法是可以实现我们的需求的。
可是细心的会发现,如果内容超过一屏幕,滚动条向下滚动的时候,html的高度只有一屏幕的高度
方法三:
html, body {
height: 100%;
overflow: auto;
}
可以实现,但是html,和body的高度是屏幕的高度