因为种种缘由,浏览器的默认滚动条“衣裳”实在是 (ˉ▽ ̄~)~~,为了“美”,本人结合万维网各大神给的经验和本身的实践,作了此篇总结。如有错误,请在评论里给出,我会及时更改。css
我在电脑上打开了一些浏览器,先观察一下,其中IE浏览器版本(10-5)在我电脑上显示是一致的,火狐版本为 59.0.2。以下图(1)可见,除了火狐浏览器和Opera浏览器的样式与其余浏览器样式差异较大,其他样式差异不大,主要是颜色的不一样。html
不知道为何我放不上图片,╭(╯^╰)╮ ε=唉 !web
(一)专属IE的“衣裳”浏览器
网上找到一个不错的分享,我本身在总结下,内容原网址app
滚动条样式 | 支持状况 | 支持浏览器版本 | 能否继承 | 描述 |
---|---|---|---|---|
scrollbar-3dlight-color | IE特有属性 | IE5.5+ | y | 设置滚动框的和滚动条箭头左上边缘的颜色 |
scrollbar-highlight-color | IE特有属性 | IE5.5+ | y | 设置滚动框的和滚动条箭头左上边缘的颜色 |
scrollbar-face-color | IE特有属性 | IE5.5+ | y | 设置滚动框和滚动条箭头的颜色 |
scrollbar-arrow-color | IE特有属性 | IE5.5+ | y | 设置滚动条箭头的颜色 |
scrollbar-shadow-color | IE特有属性 | IE5.5+ | y | 设置滚动框的和滚动条箭头右下边缘的颜色 |
scrollbar-dark-shadow-color | IE特有属性 | IE5.5+ | y | 设置滚动条槽的颜色 |
scrollbar-base-color | IE特有属性 | IE5.5+ | y | 设置滚动条主要构成部分的颜色 |
scrollbar-track-color | IE特有属性 | IE5.5+ | y | 设置滚动条轨迹组成部分的颜色 |
因为放不了图,各位仍是本身直观试试吧,一下是个人总结:测试
一、关于scrollbar-dark-shadow-color属性,我是在win7系统下测试Edge、IE十、九、八、七、5都没有显示什么,包括和其余属性组合,也没效果;动画
二、这几个元素的从属关系: scrollbar-face-color || scrollbar-arrow-color || scrollbar-shadow-color > scrollbar-track-color > scrollbar-highlight-color >scrollbar-base-color > scrollbar-3dlight-color;url
三、scrollbar-3dlight-color不论设置什么颜色,滚动条轨迹组成部分的颜色变为white色,滚动框和滚动条箭头的颜色变浅灰色 ;spa
四、scroll-base-color是一个备用颜色 ,在其余属性不设置任何颜色时,滚动条颜色为此色,滚动框黑色,滚动轨迹为此色的浅色系,上下箭头变深接近黑色;.net
五、在只设置scrollbar-track-color或者只设置scrollbar-face-color时,上下两个箭头的颜色会变得比默认颜色深;
六、在只设置scrollbar-face-color时候,滚动条轨迹组成部分的颜色变为white色;
七、在只设置scrollbar-arrow-color时候,滚动条轨迹组成部分的颜色变为white色,滚动框和滚动条箭头的颜色变浅灰色;
8、滚动条宽度没法设置,不能设置出弧度等形状 。
(二)webkit内核的“衣裳”
拥有webkit内核的浏览器差很少都支持下面的css属性,下边的伪元素最好放在css文件顶部,方便找。eg:
html:
css:
:horizontal 主要应用于选择水平方向滚动条,能够单独设置水平方向的样式
:vertical 主要是应用于选择竖直方向滚动条,能够单独设置垂直方向的样式:decrement 应用于按钮和内层轨道(track piece)。它用来指示按钮或者内层轨道是否会减少视窗的位置(好比,垂直滚动条的上面,水平滚动条的左边。)
:increment 用来指示按钮或内层轨道是否会增大视窗的位置(好比,垂直滚动条的下面和水平滚动条的右边。)
: start 应用于按钮和滑块。它用来定义对象是否放到滑块的前面。:end 标识对象是否放到滑块的后面。
:double-button 该伪类能够用于按钮和内层轨道。用于判断一个按钮是否是放在滚动条同一端的一对按钮中的一个。对于内层轨道来讲,它表示内层轨道是否紧靠一对按钮。
:single-button 相似于double-button伪类。对按钮来讲,它用于判断一个按钮是否本身独立的在滚动条的一段。对内层轨道来讲,它表示内层轨道是否紧靠一个single-button。
:no-button 用于内层轨道,表示内层轨道是否要滚动到滚动条的终端,好比,滚动条两端没有按钮的时候。
:corner-present 用于全部滚动条轨道,指示滚动条圆角是否显示。
:window-inactive 用于全部的滚动条轨道,指示应用滚动条的某个页面容器(元素)是否当前被激活。(在webkit最近的版本中,该伪类也能够用于::selection伪元素。webkit团队有计划扩展它并推进成为一个标准的伪类)
:hover 鼠标悬浮时的效果
:active 被激活时的样式
:enabled 元素的可用状态
:disabled 元素的禁用状态
根据伪类能够增长滚动条的样式以及一些动画,我最经常使用的是 :hover、 :active 、:window-inactive,根据需求你们能够多多尝试。
(三)Firefox的“衣裳”
这件可真是换不下来了
网上给了一些参考,但我试了试,没弄明白,下面是链接,有兴趣的看完会的,若不麻烦留言给个例子吧
https://bbs.kafan.cn/thread-1529981-1-1.html
参考文件:
小天地,大世界[https://www.lyblog.net] https://www.lyblog.net/detail/314.html