html滚动条样式太丑?教你用css轻松修改!

吉云

今天跟大家唠唠我折腾 HTML 滚动条样式的事儿,这玩意儿默认的样式是真的丑,每次看到都忍不住想动手改改。

我就是想着简单改个颜色啥的,让它看着顺眼点。就在 CSS 里开始瞎鼓捣。

我找到 `::-webkit-scrollbar` 这个东西,感觉像是突破口。这玩意儿能控制整个滚动条的宽度和高度。

html滚动条样式太丑?教你用css轻松修改!

css

::-webkit-scrollbar {

width: 10px; / 竖向滚动条宽度 /

height: 10px; / 横向滚动条高度 /

html滚动条样式太丑?教你用css轻松修改!

搞完这个,我就想改滚动条的滑块,就是拖动的那一块。找到 `::-webkit-scrollbar-thumb` 伪元素。

css

::-webkit-scrollbar-thumb {

background-color: #888; / 滑块颜色 /

border-radius: 5px; / 圆角 /

html滚动条样式太丑?教你用css轻松修改!

颜色是改,也加圆角,但是总感觉差点意思。又去查查,发现还能改滚动条的轨道,就是滑块背景那部分。

css

::-webkit-scrollbar-track {

background-color: #f1f1f1; / 轨道颜色 /

html滚动条样式太丑?教你用css轻松修改!

这样一搞,整个滚动条的颜色就统一起来,看着稍微舒服一点。

但是!问题来,我发现火狐浏览器居然不支持这些 `::-webkit-scrollbar` 的伪元素!IE 就更不用说,直接摆烂。这让我有点郁闷,难道要写一堆浏览器兼容的代码?

后来我发现火狐虽然不支持 `::-webkit-scrollbar`,但是它有一些其他的 CSS 属性可以用来修改滚动条的颜色。虽然不能完全自定义样式,但至少能让它不那么丑。具体的属性我记不太清,可以自己去搜一下火狐滚动条样式相关的资料。

我决定妥协一下,只在 Chrome 和 Edge 这种 Webkit 内核的浏览器上使用自定义滚动条样式,其他浏览器就用默认的样式。虽然不能做到完美,但至少保证大部分用户的体验。

这回折腾滚动条样式,算是学到不少东西。虽然没有达到完美的效果,但也让我对 CSS 的伪元素有更深的解。以后有机会再继续研究研究,争取做出更漂亮的滚动条!

html滚动条样式太丑?教你用css轻松修改!

免责声明:由于无法甄别是否为投稿用户创作以及文章的准确性,本站尊重并保护知识产权,根据《信息网络传播权保护条例》,如我们转载的作品侵犯了您的权利,请您通知我们,请将本侵权页面网址发送邮件到qingge@88.com,深感抱歉,我们会做删除处理。

目录[+]