用css定义浏览器滚动条样式
这里介绍的用css定义滚动条样式,但是只能在IE下有效。
IE下的滚动条样式:
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; /*滚动条的基色*/
大概就这些,你也可以定义cursor来定义滚动条的鼠标手势。
例:(本文在IE下的滚动条样式)
body{
scrollbar-base-color:#37AA88;
SCROLLBAR-SHADOW-COLOR:#37AA88;
SCROLLBAR-HIGHLIGHT-COLOR:#C3FFE1;
}

webkit的自定义滚动条样式(360浏览器,谷歌浏览器。。。)
webkit现在支持拥有overflow属性的区域,列表框,下拉菜单,textarea的滚动条自定义样式。
::-webkit-scrollbar 滚动条整体部分 ::-webkit-scrollbar-button 滚动条两端的按钮 ::-webkit-scrollbar-track 外层轨道 ::-webkit-scrollbar-track-piece 内层轨道,滚动条中间部分(除去) ::-webkit-scrollbar-thumb (拖动条?滑块?滚动条里面可以拖动的那个,肿么翻译好呢?) ::-webkit-scrollbar-corner 当同时有垂直和水平滚动条时交汇的部分 ::-webkit-resizer 定义右下角拖动块的样式
任何对象都可以设置:边框、阴影、背景图片等等,创建的滚动条任然会按照操作系统本身的设置来完成其交互的行为。下面的伪类可以应用到上面的伪元素中。
:horizontal(horizontal伪类适用于任何水平方向上的滚动条)
:vertical(vertical伪类适用于任何垂直方向的滚动条)
:decrement(decrement伪类适用于按钮和轨道碎片。表示递减的按钮或轨道碎片,例如可以使区域向上或者向右移动的区域和按钮)
:increment(increment伪类适用于按钮和轨道碎片。表示递增的按钮或轨道碎片,例如可以使区域向下或者向左移动的区域和按钮)
:start(start伪类适用于按钮和轨道碎片。表示对象(按钮 轨道碎片)是否放在滑块的前面)
:end(end伪类适用于按钮和轨道碎片。表示对象(按钮 轨道碎片)是否放在滑块的后面)
:double-button(double-button伪类适用于按钮和轨道碎片。判断轨道结束的位置是否是一对按钮。也就是轨道碎片紧挨着一对在一起的按钮。)
:single-button(single-button伪类适用于按钮和轨道碎片。判断轨道结束的位置是否是一个按钮。也就是轨道碎片紧挨着一个单独的按钮。)
:no-button(no-button伪类表示轨道结束的位置没有按钮。)
:corner-present(corner-present伪类表示滚动条的角落是否存在。)
:window-inactive(适用于所有滚动条,表示包含滚动条的区域,焦点不在该窗口的时候。)
::-webkit-scrollbar-track-piece:start {
/*滚动条上半边或左半边*/
}
::-webkit-scrollbar-thumb:window-inactive {
/*当焦点不在当前区域滑块的状态*/
}
::-webkit-scrollbar-button:horizontal:decrement:hover {
/*当鼠标在水平滚动条下面的按钮上的状态*/
}
例1:(本文在360浏览器和谷歌浏览器下的滚动条样式)
::-webkit-scrollbar /*滚动条整体部分*/
{
width:10px /*垂直滚动条宽度*/
height:10px /*水平滚动条宽度*/
}
::-webkit-scrollbar-track /*外层轨道*/
{
border-radius: 10px;
background: #C3FFE1;
}
::-webkit-scrollbar-thumb /*滑块*/
{
background: #37AA88; border-radius: 10px;
}
::-webkit-scrollbar-thumb:window-inactive /*当焦点不在当前区域滑块的状态*/
{
background: #48FDA2;
}
::-webkit-scrollbar-thumb:vertical:hover /*当鼠标在水平滚动条下面的按钮上的状态*/
{
background: #48FDA2;
}
![]()
例2:
/*CSS的坐标系,左上角为(0,0),往右往下为增加,往上往左为减少*/
/*显示滚动条上方的渐增按钮*/
::-webkit-scrollbar-button:start:decrement,
/*显示滚动条上方的渐减按钮*/
::-webkit-scrollbar-button:end:increment {
display: block;
}
/*隐藏滚动条上方的渐增按钮*/
::-webkit-scrollbar-button:vertical:start:increment,
::-webkit-scrollbar-button:vertical:end:decrement {
display: none;
}
/* 定义滚动条渐增按扭的样式 */
::-webkit-scrollbar-button:end:increment {
background-image: url(./images/scroll_cntrl_dwn.png);
}
/* 定义滚动条渐减按扭的样式 */
::-webkit-scrollbar-button:start:decrement {
background-image: url(./images/scroll_cntrl_up.png);
}
/* 垂直滚动条的第三层轨道的上段 */
::-webkit-scrollbar-track-piece:vertical:start {
background-image: url(./images/scroll_gutter_top.png), url(./images/scroll_gutter_mid.png);
background-repeat: no-repeat, repeat-y;
}
/* 垂直滚动条的第三层轨道的下段 */
::-webkit-scrollbar-track-piece:vertical:end {
background-image: url(./images/scroll_gutter_btm.png), url(./images/scroll_gutter_mid.png);
background-repeat: no-repeat, repeat-y;
background-position: bottom left, 0 0;
}
/* 垂直滚动条的滑动块 */
::-webkit-scrollbar-thumb:vertical {
height: 56px;
-webkit-border-image: url(./images/scroll_thumb.png) 8 0 8 0 stretch stretch;
border-width: 8 0 8 0;
}
