css美化浏览器滚动条

471 阅读55分钟

单独使用css的方法虽然简单,但只有chrome兼容好,ie只能改滚动条颜色,火狐不支持css修改

1.先看chrome滚动条每部分的名字

CSS
    ::-webkit-scrollbar              { /* 1 */ }
    ::-webkit-scrollbar-button       { /* 2 */ }
    ::-webkit-scrollbar-track        { /* 3 */ }
    ::-webkit-scrollbar-track-piece  { /* 4 */ }
    ::-webkit-scrollbar-thumb        { /* 5 */ }
    ::-webkit-scrollbar-corner       { /* 6 */ }
    ::-webkit-resizer                { /* 7 */ }

::-webkit-scrollbar        滚动条整体部分,其中的属性有width,height,background,border(就和一个块级元素一样)等。
::-webkit-scrollbar-button      滚动条两端的按钮。可以用display:none让其不显示,也可以添加背景图片,颜色改变显示效果。
::-webkit-scrollbar-track         外层轨道。可以用display:none让其不显示,也可以添加背景图片,颜色改变显示效果。
::-webkit-scrollbar-track-piece        内层轨道,滚动条中间部分(除去)。
::-webkit-scrollbar-thumb               滚动条里面可以拖动的那部分
::-webkit-scrollbar-corner               边角
::-webkit-resizer                       定义右下角拖动块的样式

知道各选择器对应的位置就可以看着修改了:

/* 滚动条样式 */
::-webkit-scrollbar {
	width:6px;
  height:6px;
}			
/* 滑轨 */
::-webkit-scrollbar-track {
	-webkit-box-shadow: inset 0 0 3px rgba(0,0,0,0.2); 
	-webkit-border-radius: 6px;
	border-radius: 6px;
}			
/* Handle */
::-webkit-scrollbar-thumb {
	-webkit-border-radius: 6px;
	border-radius: 6px;
	background: rgba(153,153,153,0.4);
	-webkit-box-shadow: inset 0 0 3px rgba(0,0,0,0.3); 			  
}
::-webkit-scrollbar-thumb:window-inactive {
	background: rgba(153,153,153,0.4); 			  
}
 
::-webkit-scrollbar-thumb:hover {
    background-color: #777;
}

原来样式和现在样式对比:

2.再看看IE,只是对应了一些css特有属性