首页 > 上网技巧 > 电脑小技巧 > 通过CSS代码自定义浏览器滚动下拉条样式

通过CSS代码自定义浏览器滚动下拉条样式

时间:2014-09-03 09:32 作者:QQ地带 我要评论

自定义滚动条样式的方法有两种:
1、利用Javascript模拟滚动条;
2、用CSS代码来定义滚动条。
第一种是利用Javascript模拟滚动条,然后将它的样式渲染改变,方法和代码比较多,也比较复杂,一般这样的方法都会制作成插件,也附带使用方法,可以在网络上搜索“Javascript自定义滚动条”找到。
第二种是使用CSS来自定义滚动条的样式。
  
下面配合上面的图例解释一下各个属性的含义: 
 1、scrollbar-face-color 滚动条凸出部分的颜色;   
 2、scrollbar-highlight-color 滚动条空白部分的颜色;   
 3、scrollbar-shadow-color 滚动条阴影的颜色;  
 4、scrollbar-3dlight-color 立体滚动条亮边的颜色;   
 5、scrollbar-arrow-color 上下按钮上三角箭头的颜色;  
 6、scrollbar-track-color 滚动条底色;  
 7、scrollbar-dark-shadow-color 立体滚动条强阴影的颜色;   
 8、scrollbar-base-color 滚动条的基本颜色;  
 以上编号和图示中的编号是相对应的。 这个方法可以自定义浏览器滚动条,但只针对IE浏览器有效,对于Firefox、Opera等现代浏览器起不了作用。 如果想让它们也可以自定义滚动条还是要使用第一种方法。 
 
 
补充
-webkit-scrollbar 滚动条整体部分
 
-webkit-scrollbar-button 滚动条两端的按钮
 
-webkit-scrollbar-track 外层轨道
 
-webkit-scrollbar-track-piece 内层轨道,滚动条中间部分(除去)
 
-webkit-scrollbar-thumb (拖动条?滑块?滚动条里面可以拖动的那个,肿么翻译好呢?)
 
-webkit-scrollbar-corner 边角
 
-webkit-resizer 定义右下角拖动块的样式
 
通过这些伪元素,可以完全的重写一个网站的滚动条样式。
 
当然webkit提供的不止这些,还有很多伪类,可以更丰富滚动条样式:
 
:horizontal – horizontal伪类应用于水平方向的滚动条
 
:vertical – vertical伪类应用于竖直方向的滚动条
 
:decrement – decrement伪类应用于按钮和内层轨道(track piece)。它用来指示按钮或者内层轨道是否会减小视窗的位置(比如,垂直滚动条的上面,水平滚动条的左边。)
 
:increment – increment伪类和decrement类似,用来指示按钮或内层轨道是否会增大视窗的位置(比如,垂直滚动条的下面和水平滚动条的右边。)
 
:start – start伪类也应用于按钮和滑块。它用来定义对象是否放到滑块的前面。
 
:end – 类似于start伪类,标识对象是否放到滑块的后面。
 
:double-button – 该伪类以用于按钮和内层轨道。用于判断一个按钮是不是放在滚动条同一端的一对按钮中的一个。对于内层轨道来说,它表示内层轨道是否紧靠一对按钮。
 
:single-button – 类似于double-button伪类。对按钮来说,它用于判断一个按钮是否自己独立的在滚动条的一段。对内层轨道来说,它表示内层轨道是否紧靠一个single-button。
 
:no-button – 用于内层轨道,表示内层轨道是否要滚动到滚动条的终端,比如,滚动条两端没有按钮的时候。
 
:corner-present – 用于所有滚动条轨道,指示滚动条圆角是否显示。
 
:window-inactive – 用于所有的滚动条轨道,指示应用滚动条的某个页面容器(元素)是否当前被激活。(在webkit最近的版本中,该伪类也可以用于::selection伪元素。webkit团队有计划扩展它并推动成为一个标准的伪类)
 
另外,:enabled、:disabled、:hover 和 :active 等伪类同样可以用于滚动条中。
 
关于具体的demo,这里不再做了,网上已经有很多demo可以参考,比如,webkit官方的这个,具体的线上项目中也有现成的例子,比如,QQ空间的签到弹出框和豆瓣说的右侧详情栏(某条信息评论多的时候会显示)。
 
值得一提的是,webkit的这个伪类和伪元素的实现很强大,虽然类目有些多,但是我们可以把滚动条当成一个页面元素来定义,也差不多可以用上一些高级的CSS3属性,比如渐变、圆角、RGBa等等,当然有些地方也可以用图片,然后图片也可以转换成Base64,总之,可以尽情发挥了。

标签: css
顶一下
(2)
100%
踩一下
(0)
0%

Google提供的广告