body和浏览器视口的区别

img


将body设置成高度100%(height:100%),在滚动条滚到最底层的时候,出现白色底层,而将其高度设置成100hv的时候,不会出现白色底层,body的尺寸是相对于什么而言的,和视口有什么区别

body对应的是文档主体。
height: 100%是该元素相对于它的父元素而言的。在body中,它的父元素就是根元素html,而html可以理解为整个视口,而当子元素充满了整个父元素时,由于边界的影响,就会出现滚动条。所以解决方法就是:当设置height: 100%时,就要把body的margin设置为0:

body {
    height: 100%;
    margin: 0;
}

· 100%是铺满父容器的高度
· 100vh是铺满屏幕的高度
百分比是相对于父容器的。body的父容器是html