溢出隐藏,隐藏滚动条适用于各个浏览器
2022-12-10 加入收藏
什麽是"滚动条"?
滚动条指的是下图右侧被红线框起来的部分:
只要网页内容大于视窗,滚动条就会出现。
一般来说,只要不是body层次的滚动条,那用overflow: hidden;就能解决滚动条出现的问题,但此时页面也会变得无法捲动。
目前网路上已经有诸多可隐藏非body层次的滚动条又可捲动页面的教学,所以本文主要聚焦于如何隐藏浏览器(也就是body层次)的滚动条。
解决方法
针对不同的浏览器,有不同的隐藏滚动条的方法,以下针对三大浏览器 chrome、ie(包括 edge)、firefox 分别叙述之:
Chorme
body::-webkit-scrollbar {
display: none;
}
1
2
3
4
IE/Edge
body {
-ms-overflow-style: none;
}
1
2
3
Firefox
firefox 是三者之中最麻烦的:
html {
overflow: -moz-hidden-unscrollable; /*注意!若只打 hidden,chrome 的其它 hidden 会出问题*/
height: 100%;
}
body {
height: 100%;
width: calc(100vw + 18px); // 浏览器滚动条的长度大约是 18px
overflow: auto;
}
1
2
3
4
5
6
7
8
9
到此还没结束,你还要在一些地方加上width: 100vw;。
假设你的HTML长这样:
<body>
<div id="example-1">
<p>难臺子哥式自不家草要计在来也见加正活书。</p>
</div>
<article id="example-2">
<h1>意家的不称打准无政!</h1>
<p>得研河金起里美希孩有人裡人。料低不。</p>
<button>处拉</button>
</article>
</body>
1
2
3
4
5
6
7
8
9
10
那你的CSS就还要再加上:
#example-1 {
width: 100vw;
}
#example-2 {
width: 100vw;
}
1
2
3
4
5
6
总结
综上所述,如果你想让三大浏览器的滚动条都隐藏,并且可以捲动,那你的CSS就至少要长这样:
html {
overflow: -moz-hidden-unscrollable;
height: 100%;
}
body::-webkit-scrollbar {
display: none;
}
body {
-ms-overflow-style: none;
height: 100%;
width: calc(100vw + 18px);
overflow: auto;
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
至于width: 100vw;要加在何处,就要看你的HTML结构长怎样了。
优点
可以让读者更聚焦于内文,而不会看到滚动条很短就懒得看、跳出网页,或一心急,就把滚动条直直往下拉。换言之,就是强迫读者慢慢地把内容看完。
缺点
假如读者想往回看,可能就会要滚很久。所以,如果你想为较长的内文隐藏滚动条,建议应有导览列,让读者可以快速跳到某一处。
————————————————
版权声明:本文为CSDN博主「托尼沙滩裤」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_44070058/article/details/112555450