web前端入门到实战:使用CSS隐藏元素滚动条

爷,独闯天下 提交于 2019-12-13 00:27:52

如何隐藏滚动条,同时仍然可以在任何元素上滚动?

首先,如果需要隐藏滚动条并在内容溢出时显示滚动条,只需要设置overflow:auto样式即可。想要完全隐藏滚动条只需设置overflow:hidden即可,但是这样一来将导致元素内容不可滚动。时至今日,还没有任何一条CSS规则可以使元素可以隐藏滚动条的同时依然可以滚动内容,只能通过针对特定浏览器设置滚动条样式来实现。

Firefox浏览器

对于Firefox,我们可以将滚动条宽度设置为none:

scrollbar-width: none; /* Firefox */

IE浏览器

对于IE,我们需要使用-ms-prefix属性定义滚动条样式:

-ms-overflow-style: none; /* IE 10+ */

Chrome和Safari浏览器

对于Chrome和Safari浏览器,我们必须使用CSS滚动条选择器,然后使用display:none隐藏它:

::-webkit-scrollbar {
  display: none; /* Chrome Safari */
}
web前端开发学习Q-q-u-n: 784783012 ,分享学习的方法和需要注意的小细节,不停更新最新的教程和学习方法
(详细的前端项目实战教学视频,PDF)

注意:当你要隐藏滚动条的时候,最好将overflow显示设置为auto或者scroll保证内容是可滚动的。

示例

我们使用上面的CSS属性以及溢出实现下面一个实例——隐藏水平滚动条,同时允许垂直滚动条:

.demo::-webkit-scrollbar {
  display: none; /* Chrome Safari */
}

.demo {
  scrollbar-width: none; /* firefox */
  -ms-overflow-style: none; /* IE 10+ */
  overflow-x: hidden;
  overflow-y: auto;
}
web前端开发学习Q-q-u-n: 784783012 ,分享学习的方法和需要注意的小细节,不停更新最新的教程和学习方法
(详细的前端项目实战教学视频,PDF)
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!