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

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

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

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

                

        好吧,确实是挺丑的,请原谅个人审美!app

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

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

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

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

        

        很容易看到各个属性控制的部分,其中有几个是控制着相同的部分,可是测试过程当中发现有几个属性却并不能有效果,例如: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的样式!!!3d

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

        测试过程当中发现,在全部浏览器中,webkit内核的浏览器的滚动条可定制性是最强的,下面,让咱们一块儿来看看webkit:图片

                                                        ::-webkit-scrollbar (1)

                                                        ::-webkit-scrollbar-button (2)

                                                        ::-webkit-scrollbar-track (3)

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

                                                        ::-webkit-scrollbar-thumb (5)

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

                        

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

        具体效果以下:

                                                    

        上述是几个主要的属性几乎可让咱们重写浏览器的滚动条了(仅限于webkit内核的),可是webkit还提供了其余更多的属性及伪类让咱们来定制丰富的浏览器样式,这里就很少作阐述,有兴趣的同窗能够上网百度一下便可!

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

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

                                      

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

相关文章
相关标签/搜索