IE
写法:写在overflow同级的位置,由于在IE下transparent无效,故将滚动条置为页面背景色,以此规避丑丑的滚动条样式。
这几个属性文档说是兼容IE5.5,亲测IE11可以,低版本未测试。
用以下几个属性组合,就可以将滚动条变得和背景色一样:
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,写法如下。
/*定义滚动条高宽及背景 高宽分别对应横竖滚动条的尺寸*/
&::-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同级的位置,如下图:
overflow: scroll;
scrollbar-color: red red; //滚动条轨道颜色 滚动条滑块的颜色
scrollbar-width: none;
scrollbar-width: thin; //thin模式下滚动条两端的三角按钮会消失
scrollbar-width: auto; //默认大小