自定义浏览器滚动条样式

为了有助于理解IE中滚动条样式的控制,你可以查看如下的图片:

经过不断的测试发现,在Win8 下面,有一部分样式都起着相同的作用。估计是因为在Win8中扁平化的界面设计而重新定议了系统中滚动条!以下是Win 8下面的滚动条样式,并写出了和CSS支持的情况:

以上所写的几个四个CSS属性,足以控制Win 8系统下,IE浏览器的滚动条样式了。但经过测试,发现,其它的四个属性仍然支持(主要是在以上几个属性空缺时,就会体现其作用)。具体如下:

  1. 关于scrollbar-track-color,scrollbar-face-color与scrollbar-base-color。直接看英语单词,你就也许能明白scroll-base-color是一个备用颜色,只要前两者未设置时,它就开始起作用了。但是你得注意,当scrollbar-base-color用来作scrollbar-track-color功能来用时,你会发现,实际颜色与设定的颜色要淡一点。不信你可以这样试试:只设置一下scrollbar-base-color看看滚动条的效果。
  2. 关于scrollbar-dark-shadow-color属性,通过测试发现Win 8下IE10,IE11滚动条并没有改变。可能是win 8的滚动条重新定义了,导致没有了隐影了吧!(仅个人猜想)
  3. 通过观察我们发现,Win 8下的滚动条中,上箭头和下箭头后面的背景颜色都已经从scroll-face-color中脱离出来了,从属于scroll-track-color属性控制。

感觉IE浏览器滚动条自定制功能并不是很强,只能控制一样显示各个部分的颜色而已,像宽度,结构等都无法控制,要靠出个性点的滚动条,很难!很难!!!

webkit内核的浏览器滚动条定制

在所有浏览器,滚动条可定制性最强的当属webkit内核的浏览器了。因为源代码开放的原因,市面上基于webkit内核的浏览器也是很难穷举完。例如有:Google Chrome、Opera(opera最近宣布使用webkit内核了)、360极速浏览器,猎豹浏览器等,搜狗浏览器······

下面我们来看一下webkit浏览器是如何强大的吧!

复制

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

以上CSS代码所管辖的区域对就关系:以上注释中的数字与下图中数字相对应。

上图正如如下所言:

  • ::-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                       定义右下角拖动块的样式

注意:对以上各个部分定义width,height时。有如下功能:若是水平滚动条,则width属性不起作用,height属性用来控制滚动条相应部分竖直方向高度;若是竖直滚动条,则height属性不起作用,width属性用来控制相应部分的宽度。

能过上面的不断的测试。在Chrome中,滚动条中的各个部分和DOM中块级元素是一样的。通过::-webkit-scrollbar等就类似于原来所说的CSS中的选择器。而{}中的属性,你就像控制一般块级元素一样简单(强大啊)。

DOME测试

css样式:

 1 #scroll-1 {
 2 width:200px;
 3 height:200px;
 4 overflow:auto;
 5 }
 6 #scroll-1 div {
 7 width:400px;
 8 height:400px;
 9 } #scroll-1::-webkit-scrollbar {
10 width:10px;
11 height:10px;
12 }
13 #scroll-1::-webkit-scrollbar-button {
14 background-color:#FF7677;
15 }
16 #scroll-1::-webkit-scrollbar-track {
17 background:#FF66D5;
18 }
19 #scroll-1::-webkit-scrollbar-track-piece {
20 background:url(http://www.lyblog.net/wp/wp-content/themes/mine/img/stripes_tiny_08.png);
21 }
22 #scroll-1::-webkit-scrollbar-thumb{
23 background:#FFA711;
24 border-radius:4px;
25 }
26 #scroll-1::-webkit-scrollbar-corner {
27 background:#82AFFF;
28 }
29 #scroll-1::-webkit-scrollbar-resizer {
30 background:#FF0BEE;
31 }

HTML结构:

 1 <div id=‘scroll-1‘>
 2 <div >
 3 <p>请选择Webkit内核的浏览器才可以正常的看到滚动条的变化。
 4 小天地,大世界是一个Web前端的技术博客。 主要是关于
 5 HTML 5,CSS 3,JavaScript,JQuery等。除此之外,还
 6 包含一些PHP语言等的实用例子。</p>
 7 <p>请选择Webkit内核的浏览器才可以正常的看到滚动条的变化。
 8 小天地,大世界是一个Web前端的技术博客。 主要是关于
 9 HTML 5,CSS 3,JavaScript,JQuery等。除此之外,还
10 包含一些PHP语言等的实用例子。</p>
11 <p>请选择Webkit内核的浏览器才可以正常的看到滚动条的变化。
12 小天地,大世界是一个Web前端的技术博客。 主要是关于
13 HTML 5,CSS 3,JavaScript,JQuery等。除此之外,还
14 包含一些PHP语言等的实用例子。</p>
15 <p>请选择Webkit内核的浏览器才可以正常的看到滚动条的变化。
16 小天地,大世界是一个Web前端的技术博客。 主要是关于
17 HTML 5,CSS 3,JavaScript,JQuery等。除此之外,还
18 包含一些PHP语言等的实用例子。</p>
19 <p>请选择Webkit内核的浏览器才可以正常的看到滚动条的变化。
20 小天地,大世界是一个Web前端的技术博客。 主要是关于
21 HTML 5,CSS 3,JavaScript,JQuery等。除此之外,还
22 包含一些PHP语言等的实用例子。</p>
23 </div>
24 </div>

demo自行测试。

原创文章,转载请注明出处:小天地,大世界[http://www.lyblog.net]
文章地址:http://www.lyblog.net/detail/314.html

时间: 2024-12-22 04:12:11

自定义浏览器滚动条样式的相关文章

自定义浏览器滚动条的样式,打造属于你的滚动条风格——兼容IE和webkit(ff不支持)

前段时间,到网上找素材时,看到了一个很个性的滚动条式,打开Chrome的调试工具看了一下,发现不是用JavaScript来模拟实现的,觉得 有必要折腾一下.于是在各大浏览器中对比了一下,发现只用Chrome适用,也就是说这个用的是Chrome的私有CSS属性.便百之谷之后,发现原来不 仅仅只用Chrome,其它的浏览器在不同程度上支持自定义滚动条样式的.下面是我不断测试的结果,若有错误或不全,请在评论里面给出,我会立马更正:若 有更好的方案,你可以留言,让大家都开开眼界...... 自定义IE浏

修改浏览器滚动条样式

滚动条样式修改,没有找到修改火狐浏览器滚动条的代码 把以下样式加入css,图片为谷歌.safari.qq浏览器.360浏览器滚动条样式和ie滚动条样式及ie原始默认样式 /*谷歌.safari.qq浏览器.360浏览器滚动条样式*/ /*定义滚动条高宽及背景 高宽分别对应横竖滚动条的尺寸*/ ::-webkit-scrollbar { width: 10px; height: 10px; background-color: #F5F5F5; } /*定义滚动条轨道 内阴影+圆角*/ ::-web

jQuery 自定义网页滚动条样式插件 mCustomScrollbar 的介绍和使用方法

如果你构建一个很有特色和创意的网页,那么肯定希望定义网页中的滚动条样式,这方面的 jQuery 插件比较不错的,有两个:jScrollPane 和 mCustomScrollbar. 关于 jScrollPane,大家见过的可能比较多,但是这个插件太过于古老而且功能不强大,效果在几年前非常不错,但是放在现在就不好说了.所以我选择了后者:mCustomScrollbar.下图是两者官方示例的简单对比: 本文就是介绍如何使用 mCustomScrollbar 这个插件,大部分的内容是翻译自 mCus

JavaScript自定义浏览器滚动条兼容IE、 火狐和chrome

今天为大家分享一下我自己制作的浏览器滚动条,我们知道用css来自定义滚动条也是挺好的方式,css虽然能够改变chrome浏览器的滚动条样式可以自定义,css也能够改变IE浏览器滚动条的颜色.但是css只能是改变IE浏览器的颜色,而且CSS不能做到改变火狐浏览器的样式和颜色.所以只能是通过JavaScript来实现了.也有插件可以做到.我分享一下我自己使用原生JavaScript实现的思路.先上个图看下效果: JavaScript实现的思路就是模拟浏览器自身滚动条.我制作的思路是先将整个文档放在一

[分享] 通过修改CSS自定义chrome滚动条样式

首先得说一句 我不懂CSS的写法之类的 这段CSS也是在网上找的 所以有更先进的需求的话 我肯定不能满足你们了 不好意思效果图在10楼有人上了 我这边不管怎么弄 上传图片都卡在96% 而且不翻wall不能回帖 翻wall的情况下 上论坛这个慢啊 所以 大家去看这个图吧http://bbs.kafan.cn/forum.php?mo ... &fromuid=487958大家都知道哈 chrome能自定义的东西比较少 不像FF或者opera那样 几个样式 或者脚本 就能把浏览器改成任何想要的样子

设置浏览器滚动条样式

1.设置隐藏滚动条 ::-webkit-scrollbar{ display:none; } 2.设置滚动条样式 /*********改变浏览器滚动条的样式****************/::-webkit-scrollbar/*整体部分*/{width: 10px; height:10px; }::-webkit-scrollbar-track/*滑动轨道*/{ -webkit-box-shadow: inset 0 0 5px rgba(0,0,0,0.2); border-radius:

bootshrap会改变IE浏览器滚动条样式

在某个小网站的开发中客户一直抱怨在IE11中网页右边滚动条不一样后来发现在IE11中,有2个页面滚动条会自动隐藏,一开始以为是浏览器默认行为,改了overflow:scroll后也没有用.仔细观察后发现这2个页面因为用了bootshrap的特效而引用了bootshrap.css文件,于是确定是bootshrap.css中的问题. 排查后发现是以下代码导致的. @-ms-viewport {width: device-width;} 在此mark一下,也为出现问题的朋友提供下帮助.

浏览器滚动条样式更改

/* webkit内核浏览器 */ ::-webkit-scrollbar {width: 8px;} ::-webkit-scrollbar-button {width: 8px;height: 5px;} ::-webkit-scrollbar-track { border-radius: 0px;} ::-webkit-scrollbar-thumb {background: #999;border-radius: 0px;} ::-webkit-scrollbar-thumb:hover

自定义浏览器滚动条

<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> <style type="text/css"> * { padding: 0px; margin: 0px; } body{ height: 1000px; background: red; } ::-webkit-scrollbar { widt