为什么在html和body上都设置`overflow`?

时间:2015-05-07 08:23:00

标签: css overflow fullpage.js

我刚注意到很多css插件,当设置页面溢出到隐藏(例如)时,他们用它来设置html和body,如下所示:

html, body {
    overflow: hidden;
}

例如,fullpage.js就是这样。

将它设置为正文和html之间的确切区别是什么? 这是一个跨浏览器的技巧吗?

1 个答案:

答案 0 :(得分:1)

这是一个CSS技巧,可以防止不需要的滚动条,尤其是水平条。它阻止的是比显示的html或正文更宽的内容,因此阻止了滚动条。这是一篇深思熟虑的csstricks文章:https://css-tricks.com/findingfixing-unintended-body-overflow/

然而,你最后会注意到,他提到不建议将溢出物隐藏在身体上(和html)。

在fullpage.js的情况下,它很好,因为他们专门试图隐藏滚动条,以便他们的动画可以带来屏幕外的内容。