IE
写法:写在overflow同级的位置,由于在IE下transparent无效,故将滚动条置为页面背景色,以此规避丑丑的滚动条样式。
这几个属性文档说是兼容IE5.5,亲测IE11可以,低版本未测试。
用以下几个属性组合,就可以将滚动条变得和背景色一样:
1 2 3 4 5 6 7 8 | scrollbar-arrow-color: color; /*三角箭头的颜色*/ scrollbar-face-color: color; /*立体滚动条的颜色(包括箭头部分的背景色)*/ scrollbar-3dlight-color: color; /*立体滚动条亮边的颜色*/ scrollbar-highlight-color: color; /*滚动条的高亮颜色(左阴影?)*/ scrollbar-shadow-color: color; /*立体滚动条阴影的颜色*/ scrollbar-darkshadow-color: color; /*立体滚动条外阴影的颜色*/ scrollbar-track-color: color; /*立体滚动条背景颜色*/ scrollbar-base-color:color; /*滚动条的基色*/ |
Chrome
写法:写在overflow同级的样式下面,博主是react + less,写法如下。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | /*定义滚动条高宽及背景 高宽分别对应横竖滚动条的尺寸*/ &::-webkit-scrollbar { width: 16px; /*滚动条宽度*/ height: 16px; /*滚动条高度*/ } /*定义滚动条轨道 内阴影+圆角*/ &::-webkit-scrollbar-track { -webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.3); border-radius: 10px; /*滚动条的背景区域的圆角*/ background-color: red;/*滚动条的背景颜色*/ } /*定义滑块 内阴影+圆角*/ &::-webkit-scrollbar-thumb { border-radius: 10px; /*滚动条的圆角*/ -webkit-box-shadow: inset 0 0 6px rgba(0,0,0,.3); background-color: green; /*滚动条的背景颜色*/ } |
::-webkit-scrollbar 滚动条整体部分
::-webkit-scrollbar-thumb 滚动条里面的小方块,能向上向下移动(或往左往右移动,取决于是垂直滚动条还是水平滚动条)
::-webkit-scrollbar-track 滚动条的轨道(里面装有Thumb)
::-webkit-scrollbar-button 滚动条的轨道的两端按钮,允许通过点击微调小方块的位置。
::-webkit-scrollbar-track-piece 内层轨道,滚动条中间部分(除去)
::-webkit-scrollbar-corner 边角,即两个滚动条的交汇处的小方块
::-webkit-resizer 两个滚动条的交汇处上用于通过拖动调整元素大小的小控件
Firefox
原理:写在overflow同级的位置,如下图:
1 2 3 4 5 | overflow: scroll; scrollbar-color: red red; //滚动条轨道颜色 滚动条滑块的颜色 scrollbar-width: none; scrollbar-width: thin; //thin模式下滚动条两端的三角按钮会消失 scrollbar-width: auto; //默认大小 |