CSS 滚动条: 自定义滚动条样式
文章目录
CSS 滚动条: 自定义滚动条样式前言正文overflow & ::-webkit-scrollbar实际效果(自定义滚动条、隐藏滚动条)结语其他资源参考连接完整代码示例前言
本篇来介绍如何为自己的网页定制化自己的滚动条
正文
由于滚动条大部分时候其实是属于浏览器管控的元素,所以我们只能透过一些伪类的方式来影响它的样式。本篇介绍的是专用于 webkit 引擎上生效的写法
overflow & ::-webkit-scrollbar
与滚动条相关的属性无非就是overflow
和::-webkit-scrollbar
两个
overflow
MDN-reference 属性的作用在于指定内容溢出的场景,实际上我们可以再细分为overflow-x
、overflow-y
分别指定两个方向的溢出效果。本篇中我们要讨论的主要就是以下几个用法
overflow: hidden
或overflow: visible
:就是单纯的显示 or 隐藏内容overflow: scroll
:出现滚动条overflow: auto
:自动在需要的方向出现滚动条
这边要注意的是 auto 的意思并不是滚动时才出现,而是只在对应方向出现,我们平常看到的 chrome 里面的那个滚动条实际上是内置的所以才可以在滚动时才出现
::-webkit-scrollbar
MDN-reference 则是一系列在 webkit 环境下允许我们自定义滚动条样式的选择器,分别有以下几种
::-webkit-scrollbar
:整个滚动条::-webkit-scrollbar-button
:滚动条上的按钮 (上下箭头)::-webkit-scrollbar-thumb
:滚动条上的滚动滑块::-webkit-scrollbar-track
:滚动条轨道::-webkit-scrollbar-track-piece
:滚动条没有滑块的轨道部分::-webkit-scrollbar-corner
:当同时有垂直滚动条和水平滚动条时交汇的部分::-webkit-resizer
:某些元素的corner部分的部分样式(例:textarea的可拖动按钮)
实际效果(自定义滚动条、隐藏滚动条)
接下来我们看看实际效果
第一个是我们平常看到的滚动条
第二种我们加上自己的滚动条样式
.block::-webkit-scrollbar {width: 0.5em;background-color: #d9d9d9;}.block::-webkit-scrollbar-thumb {border-radius: 0.25em;background-color: #b9b9b9;}
实际上 auto 也不会自动隐藏滚动条的,最后我们看看 auto 跟 scroll 差别在哪里,下面我们这样改
.block {overflow: scroll;}
我们发现本来 x 方向是没有滚动条的,但还是一并出现了
最后你真的看 windows 的滚动条不爽,实际上我们也可以直接隐藏滚动条
.block::-webkit-scrollbar {display: none;}
结语
本篇介绍关于滚动条的样式设计,如果你的设计师真的很挑,那可能还是需要学一下hhh
其他资源
参考连接
完整代码示例
/superfreeeee/Blog-code/tree/main/front_end/css/css_scroll_bar