为什么要在 html 和 body 上同时设置 `overflow`?
Why setting `overflow` to both on html and body?
我刚刚注意到很多 css 插件,当设置页面溢出为隐藏时(例如),他们习惯将它同时设置为 html 和正文,像这样:
html, body {
overflow: hidden;
}
例如,fullpage.js确实喜欢这样。
将其设置为正文和 html 之间的确切区别是什么?
这是跨浏览器的把戏吗?
这是一个 CSS 技巧,可以防止不需要的滚动条,尤其是水平条。它阻止的是显示的任何比 html 或 body 更宽的内容,因此阻止了滚动条。这是一篇深度 csstricks 文章:https://css-tricks.com/findingfixing-unintended-body-overflow/
但是你会在最后注意到,他提到不建议将溢出隐藏在 body(和 html)上。
在 fullpage.js 的情况下,这很好,因为他们专门尝试隐藏滚动条,以便他们的动画可以引入屏幕外的内容。
我刚刚注意到很多 css 插件,当设置页面溢出为隐藏时(例如),他们习惯将它同时设置为 html 和正文,像这样:
html, body {
overflow: hidden;
}
例如,fullpage.js确实喜欢这样。
将其设置为正文和 html 之间的确切区别是什么?
这是跨浏览器的把戏吗?
这是一个 CSS 技巧,可以防止不需要的滚动条,尤其是水平条。它阻止的是显示的任何比 html 或 body 更宽的内容,因此阻止了滚动条。这是一篇深度 csstricks 文章:https://css-tricks.com/findingfixing-unintended-body-overflow/
但是你会在最后注意到,他提到不建议将溢出隐藏在 body(和 html)上。
在 fullpage.js 的情况下,这很好,因为他们专门尝试隐藏滚动条,以便他们的动画可以引入屏幕外的内容。