html 和 body标签的 css 设置

个人猜测浏览器的机制:H5页面底板上有一张画布,画布高度可以被撑高。html、body等元素是固定在画布上的。浏览器中页面的滚动是跟着画布滚动的。(fixed定位是脱离这种机制的,相对浏览器窗口定位的)

1、html 和 body高度为0为什么背景色能充满整个浏览器 : https://www.sohu.com/a/146413356_230028

  浏览器的机制,浏览器的底板(一般默认是白色,微信上是灰色),画布是透明的,就近吸收 html 或 body的颜色。html没有设置颜色,就吸收body的颜色。两者都没有就是透明的,看到底板的背景色。

  html 和 body 本身设置的背景色是生效的,和div的行为是一样的。

2、html 和 body 的高度,和div标签的行为一样。没有设置的话,被内容撑开。

3、html 的高度设置100% 后,他的高度就设置成和底板一样的高度了。即浏览器窗口的高度。 参考:https://blog.csdn.net/javaloveiphone/article/details/51098972

4、如果 html 的高度没有设置100%,body设置100%,是无效的。(css所有的标签设置百分比高度,其父元素必须要设置一个明确的高度 才有效)

总结:html 和 body 的高度设置100%,即body的高度设置为浏览器的高度,子元素的高度超过这个高度,就是溢出的部分。