怎麽把"滚动条"隐藏?

问题釐清

什麽是"滚动条"?css

滚动条指的是下图右侧被红线框起来的部分:html

只要网页内容大于视窗,滚动条就会出现。web

通常来讲,只要不是body层次的滚动条,那用overflow: hidden;就能解决滚动条出现的问题,但此时页面也会变得没法捲动。chrome

目前网路上已经有诸多可隐藏非body层次的滚动条又可捲动页面的教学,因此本文主要聚焦于如何隐藏浏览器(也就是body层次)的滚动条。浏览器

解决方法

针对不一样的浏览器,有不一样的隐藏滚动条的方法,如下针对三大浏览器 chrome、ie(包括 edge)、firefox 分别叙述之:学习

Chorme

body::-webkit-scrollbar {
    display: none;
}
复制代码

IE/Edge

body {
    -ms-overflow-style: none;
}
复制代码

Firefox

firefox 是三者之中最麻烦的:ui

html {
    overflow: -moz-hidden-unscrollable; /*注意!若只打 hidden,chrome 的其它 hidden 会出问题*/
    height: 100%;
}

body {
	height: 100%;
	width: calc(100vw + 18px); /*浏览器滚动条的长度大约是 18px*/
	overflow: auto;
}
复制代码

到此还没结束,你还要在一些地方加上width: 100vw;spa

假设你的HTML长这样:firefox

<body>
    <div id="example-1">
        <p>难臺子哥式自不家草要计在来也见加正活书。</p>
    </div>
    <article id="example-2">
        <h1>意家的不称打准无政!</h1>
        <p>得研河金起里美希孩有人裡人。料低不。</p>
        <button>处拉</button>
    </article>
</body>
复制代码

那你的CSS就还要再加上:3d

#example-1 {
    width: 100vw;
}

#example-2 {
    width: 100vw;
}
复制代码

总结

综上所述,若是你想让三大浏览器的滚动条都隐藏,而且能够捲动,那你的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;
}
复制代码

至于width: 100vw;要加在何处,就要看你的HTML结构长怎样了。

优势

能够让读者更聚焦于内文,而不会看到滚动条很短就懒得看、跳出网页,或一心急,就把滚动条直直往下拉。换言之,就是强迫读者慢慢地把内容看完。

缺点

假如读者想往回看,可能就会要滚好久。因此,若是你想为较长的内文隐藏滚动条,建议应有导览列,让读者能够快速跳到某一处。


若这篇文章有解决你的问题,欢迎你按爱心或收藏。 若是有任何疑惑或建议,均可在下方留言,一块儿交流、学习☺

相关文章
相关标签/搜索