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

标签 css overflow fullpage.js

我刚刚注意到很多css插件,当设置页面溢出为隐藏时(例如),他们习惯将它同时设置为html和body,像这样:

html, body {
    overflow: hidden;
}

例如,fullpage.js确实喜欢这样。

将它设置为 body 和 html 之间的确切区别是什么?
这是跨浏览器的把戏吗?

最佳答案

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

但是您会在最后注意到,他提到不建议将溢出隐藏在正文(和 html)上。

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

关于css - 为什么在 html 和 body 上都设置 `overflow`?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30095598/

相关文章:

jquery - Fullpage.js - 新的幻灯片导航栏

javascript - 不是全页 fullpage.js 吗?

html - 如何在html中创建可滚动的下拉列表

javascript - 我需要针对每个不同的选择显示不同的输入,并且需要其他人保持隐藏

css - 允许垂直溢出,同时隐藏水平溢出

android - 溢出中没有滚动条 : scroll div in Android stock browser

twitter-bootstrap-3 - 防止在 Bootstrap 3 中堆叠并使用溢出隐藏来隐藏网格单元格

javascript - 固定 header block 滚动 "scrollOverflow: true"的 fullPage.js 部分

html - 为什么我的高度是: 100% property not working?

html - 我的 CSS 的某些部分不起作用