css 设置body的最小高度是100%,满屏显示

解决问题:

1.body里的内容不满一屏时,body的高度满屏;
2.当内容超出屏幕高度时,内容的高度就是body的高度。

方法一:没有设置body的高度,内容不满屏,但是背景色却铺满整个屏幕,方法如下:

html {} // html不设置背景色
body { background: pink; }

*注:可是为什么我们在写项目的时候,却并没有达到这个效果,而是内容多高,body背景就是多高呢?
细心发现,html设置了一个背景色。
可是为什么html设置了背景色,body的满屏背景色却失效了呢?我猜测这可能是和浏览器的机制有关,浏览器会先找html有没有背景色,如果没有则往下查找body的,如果body有则取它来做底板的颜色。

方法二:

html, body { height: 100%; }

*注:如果内容没有超过屏幕的高度,是没有任何问题, 但是当内容高度大于屏幕高度时,body的高度被写死,高度和屏幕高度相等,并没有满足我们的需求;效果如图:

css 设置body的最小高度是100%,满屏显示_第1张图片
方法二:


在视觉上,这个方法是可以实现我们的需求的。
可是细心的会发现,如果内容超过一屏幕,滚动条向下滚动的时候,html的高度只有一屏幕的高度
css 设置body的最小高度是100%,满屏显示_第2张图片
方法三:

html, body {
	height: 100%;
	overflow: auto;
}

可以实现,但是html,和body的高度是屏幕的高度

你可能感兴趣的:(css,css3,前端)