个人猜测浏览器的机制:H5页面底板上有一张画布,画布高度可以被撑高。html、body等元素是固定在画布上的。浏览器中页面的滚动是跟着画布滚动的。(fixed定位是脱离这种机制的,相对浏览器窗口定位的)
浏览器的机制,浏览器的底板(一般默认是白色,微信上是灰色),画布是透明的,就近吸收 html 或 body的颜色。html没有设置颜色,就吸收body的颜色。两者都没有就是透明的,看到底板的背景色。
html 和 body 本身设置的背景色是生效的,和div的行为是一样的。
2、html 和 body 的高度,和div标签的行为一样。没有设置的话,被内容撑开。
4、如果 html 的高度没有设置100%,body设置100%,是无效的。(css所有的标签设置百分比高度,其父元素必须要设置一个明确的高度 才有效)
总结:html 和 body 的高度设置100%,即body的高度设置为浏览器的高度,子元素的高度超过这个高度,就是溢出的部分。