自定义浏览器滚动条样式

自定义浏览器滚动条样式感谢刘洋的分享 https www lyblog net detail 314 html 自定义 IE 浏览器滚动条样式滚动条样式支持情况支持浏览器版本可否继承描述 scrollbar 3dlight colorIE 特有属性 IE5 5 y 设置滚动框的和滚动条箭头左上边缘的颜色 scrollbar highlight c

感谢刘洋的分享https://www.lyblog.net/detail/314.html

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

滚动条样式 支持情况 支持浏览器版本 可否继承 描述
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-dark-shadow-color IE特有属性 IE5.5+ y 设置滚动条槽的颜色
scrollbar-base-color IE特有属性 IE5.5+ y 设置滚动条主要构成部分的颜色
scrollbar-track-color IE特有属性 IE5.5+ y 设置滚动条轨迹组成部分的颜色

这里写图片描述

在Win8 下面,有一部分样式都起着相同的作用

这里写图片描述

以上所写的几个四个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属性控制。

FireFox浏览器滚动条暂不支持修改滚动条样式

chrome修改滚动条样式

 ::-webkit-scrollbar { /* 1 */ } //滚动条整体部分,其中的属性有width,height,background,border(就和一个块级元素一样)等。 ::-webkit-scrollbar-button { /* 2 */ } //滚动条两端的按钮。可以用display:none让其不显示,也可以添加背景图片,颜色改变显示效果。 ::-webkit-scrollbar-track { /* 3 */ } // 外层轨道。可以用display:none让其不显示,也可以添加背景图片,颜色改变显示效果。 ::-webkit-scrollbar-track-piece { /* 4 */ } //内层轨道,滚动条中间部分(除去)。 ::-webkit-scrollbar-thumb { /* 5 */ } //滚动条里面可以拖动的那部分 ::-webkit-scrollbar-corner { /* 6 */ } //边角(两个滚动条夹角) ::-webkit-resizer { /* 7 */ } //定义右下角拖动块的样式

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

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

通过以上,我们几乎就可以来重写网站的滚动条了,但是webkit提供的还有更多的伪类,可以定制更丰富滚动条样式。本文以下内容参考:https://www.webkit.org/blog/363/styling-scrollbars/

  • :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等伪类同样在滚动条中适用。

另外还有jquery插件方面的滚动条修改方案,我是不太推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/231419.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 十大漏洞之逻辑漏洞

    十大漏洞之逻辑漏洞在十大漏洞中,逻辑漏洞被称为“不安全的对象引用,和功能级访问控制缺失”。现如今,越权和逻辑漏洞占用比例比较高,包括任意查询用户信息,重置任意用户密码,验证码爆破等。逻辑漏洞:常见的逻辑漏洞:交易支付,密码修改,密码找回,越权修改,越权查询,,突破限制等各种逻辑漏洞不安全的对象引用指的是平行权限的访问控制缺失A,B同为普通用户,他们之间彼此之间的个人资料应该相互保密的,A的资…

    2022年5月29日
    42
  • pycharm卸载了环境变量还在怎么办_pycharm使用教程

    pycharm卸载了环境变量还在怎么办_pycharm使用教程因为之前的pycharm是社区版的,有些功能不全,所以需要重装专业版重装pycharm最大的顾虑就是之前的库能否保留以及能否删除干净1.之前的库包卸载之前找到我之前的库包所用编译器,记下路径就行注意:因为python跟pycharm是单独存在的,所以删除的pycharm并没有影响python里安装的库包2.删除正版软件删除是最简单的,找到文件所在位置,直接卸载就行这里注意两个红色箭头要全选,然后等待卸载结束就行。3.重新安装下载链接:http://www.jetbrains.com/

    2022年8月27日
    9
  • python数据可视化_python中datetime用法

    python数据可视化_python中datetime用法xiao.77如何通过Python写入date数据了?写入还是很简单的。importxlwt3importdatetimeasdtworkbook=xlwt.Workbook()worksheet=workbook.add_sheet(‘sheet1’)worksheet.write(0,0,dt.date.today())workbook.save(‘test.xls’)查…

    2022年10月6日
    4
  • mysql 按位取反_按位与,按位异或,按位取反「建议收藏」

    mysql 按位取反_按位与,按位异或,按位取反「建议收藏」**&按位与,相同的不变,否则都算成0|按位或,^按位异或,不相同的都算成1**PHP按位与或(^、&)运算也是很常用的逻辑判断类型,有许多的PHP新手们或许对此并不太熟悉,今天结合一些代码对PHP与或运算做些介绍,先说明下,在PHP中,按位与主要是对二进制数操作:$a=1;$b=2;$c=$a^b;echo$c//3?>十进制1换算成二进制为:0…

    2022年8月14日
    10
  • mac打开idea无反应_idea安装完打不开

    mac打开idea无反应_idea安装完打不开前提纪要如果你是因为修改了idea.vmoptions配置文件后重启打不开请看此方法若不是请勿浪费时间首先我们找错误的方法找到访达—>应用程序—->找到你要打开的idea右键—->选择显示包内容—->Contents—->MacOS—->idea打开会跳出黑窗口请寻找报错信息每个人的不一样我的是说我的jdk版本信息对不上回想一下昨天改了配置文件的垃圾回收器可能改错了首先改这个目录的idea.vmop.

    2022年8月30日
    6
  • 中兴新支点Linux国产操作系统安装windows字体的方法「建议收藏」

    中兴新支点操作系统是一款非常好用易上手的国产操作系统,重易用体验和美观设计,因此对于大多数用户来说,它易用安装和使用,还能够很好的代替Windows系统进行工作与娱乐。用Windows的用户都知道,在使用过程中经常要用到各种字体,那中兴新支点国产操作系统如何安装这些字体呢,小编给大家整理了下面的教程。第一步:将Windows下喜欢的字体文件copy到一个文件夹中,例如将Windows…

    2022年4月9日
    64

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号