自定义浏览器的滚动条样式

        还在为浏览器中那丑陋的滚动条烦恼么?还在为着想要内容显示,但是滚动条却不希望它显示而烦恼么?如果你还在烦恼这些,那么很荣幸的告诉你,哥哥带你装逼带你飞(哈哈,开玩笑而已,哥你别当真)!

        传统的浏览器的滚动条样式比较难看(当然,你要是能够接受那请忽略这篇文章),项目中产品经理嫌弃滚动条的样式太难看了(好吧,其实我自己是能接受的,确实我是缺少美感的前端,这是硬伤啊),好吧,既然如此,那我们就只能动手捣鼓它了呗。

        我们先来看一下传统的浏览器滚动条的样式:

                095128_ocTP_583858.png

        好吧,确实是挺丑的,请原谅我的审美!

        那么现在,我们就要来更改一下这么丑的滚动条了,网上查了很多的资料,发现-webkit-内核的浏览器的支持性是最好的,而IE,好吧,它的滚动条自定制功能并不是很强大,只能控制各个部分的颜色而已,而火狐方面的话,网上查了很多自定义滚动条的方法,发现却是不支持的,真心蛋疼。

        首先先来看一下在IE下的滚动条的自定义:

滚动条样式支持情况支持浏览器版本可否继承描述
scrollbar-3dlight-colorIE特有属性IE5.5+Y设置滚动框的和滚动条箭头左上边缘的颜色
scrollbar-highlight-colorIE特有属性IE5.5+Y设置滚动框的和滚动条箭头左上边缘的颜色
scrollbar-face-colorIE特有属性IE5.5+Y设置滚动框和滚动条箭头的颜色
scrollbar-arrow-colorIE特有属性IE5.5+Y设置滚动条箭头的颜色
scrollbar-shadow-colorIE特有属性IE5.5+Y设置滚动框的和滚动条箭头右下边缘的颜色
scrollbar-darkshadow-colorIE特有属性IE5.5+Y设置滚动条槽的颜色
scrollbar-base-colorIE特有属性IE5.5+Y设置滚动条主要构成部分的颜色
scrollbar-track-colorIE特有属性IE5.5+Y设置滚动条轨迹组成部分的颜色

        文字叙述的再多,不如上一张图来的简单明了:

        095344_zqwe_583858.png

        很容易看到各个属性控制的部分,其中有几个是控制着相同的部分,但是测试过程中发现有几个属性却并不能有效果,例如:scrollbar-darkshadow-color,scrollbar-base-color(网上查到资料说当 scrollbar-track-color 和 scrollbar-face-color 未设置时才开始起效果,但是在IE上却并没有出现效果,本人使用IE11测试,如果你测试成功,方便的话跟我说下,涨知识),而 scrollbar-shadow-color (按照盒子模型来解释,就是border区域),而 scrollbar-arrow-color 则是控制滚动条上下的两个箭头的样式,有一点需要注意的是:在 scrollbar-highlight-color 与 scrollbar-track-color 同时设置不同的样式的时候,IE会使用scrollbar-track-color的样式!!!

        上述一句话总结就是:IE浏览器滚动条的自定制的功能并不算强大,只能改变样式,然而要做出有个性的滚动条,呵呵!!!!

        测试过程中发现,在所有浏览器中,webkit内核的浏览器的滚动条可定制性是最强的,下面,让我们一起来看看webkit:

                                                        ::-webkit-scrollbar (1)

                                                        ::-webkit-scrollbar-button (2)

                                                        ::-webkit-scrollbar-track (3)

                                                        ::-webkit-scrollbar-track-piece (4)

                                                        ::-webkit-scrollbar-thumb (5)

        再用一张图例来看下它们相对应的作用区域:

                        095732_LnFn_583858.png

        画的有点丑,请重点看作用区域,  ::-webkit-scrollbar 控制整个滚动条, ::-webkit-scrollbar-button 控制滚动条中的上下两个箭头,当未设置::-webkit-scrollbar-button时,webkit内核的浏览器则会自动忽略掉他们,滚动条中可拖动的那部分可以置顶或到底,::-webkit-scrollbar-track 控制的是整个滚动区域,::-webkit-scrollbar-track-piece 控制除了滚动条可以拖动的那部分的区域,::-webkit-scrollbar-thumb 控制可拖动的那部分滚动条区域。并且测试了下,纵向的滚动条,width是有效果的,height是没有效果的,横向的滚动条则相反!

        具体效果如下:

                                                    102223_BurU_583858.png

        上述是几个主要的属性几乎可以让我们重写浏览器的滚动条了(仅限于webkit内核的),但是webkit还提供了其他更多的属性及伪类让我们来定制丰富的浏览器样式,这里就不多做阐述,有兴趣的同学可以上网百度一下即可!

        具体效果可以参考本人站点(http://meichao.sinaapp.com/#/index)在IE和webkit下都会有明显的样式更改,滚动条的样式,美感上确实有所提升。网上也查了很多关于火狐自定义滚动条的方法,基本都是插件,其中本人使用的是一个tinyscrollbar插件,不过它是隐藏了滚动条,然后自己使用图片来模拟滚动条!!!!

      火狐下使用tinyscrollbar插件的效果如下:

                                      101914_X1Pl_583858.png

      这里就只给下效果,具体代码操作不细讲,可网上自行查找资料!

转载于:https://my.oschina.net/meichao/blog/512710

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值