css3更改默认滚动条样式-webkit-scrollbar

浏览器自带的原始滚动条很不美观,在一些特殊需求中,我们需要对滚动条的样式单独设置,因此就出现了用-webkit-scrollbar来自定义滚动条的样式。。
首先
webkit支持拥有overflow属性的区域,列表框,下拉菜单,textarea的滚动条自定义样式,所以用处还是挺大的。当然,兼容所有浏览器的滚动条样式目前是不存在的。
滚动条的组成

::-webkit-scrollbar 滚动条整体部分
::-webkit-scrollbar-thumb 滚动条里面的小方块,能向上向下移动(或往左往右移动,取决于是垂直滚动条还是水平滚动条)
::-webkit-scrollbar-track 滚动条的轨道(里面装有Thumb)
::-webkit-scrollbar-button 滚动条的轨道的两端按钮,允许通过点击微调小方块的位置。
::-webkit-scrollbar-track-piece 内层轨道,滚动条中间部分(除去)
::-webkit-scrollbar-corner 边角,即两个滚动条的交汇处
::-webkit-resizer 两个滚动条的交汇处上用于通过拖动调整元素大小的小控件

演示
默认滚动条样式:

这里写图片描述

自定义滚动条样式:

这里写图片描述
简洁代码介绍–仅支持谷歌浏览器:

/*定义滚动条高宽及背景 高宽分别对应横竖滚动条的尺寸*/  
::-webkit-scrollbar  
{  
    width: 10px;    
    background-color: #fff;  
}  

/*定义滚动条轨道 内阴影+圆角*/  
::-webkit-scrollbar-track  
{  
    -webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.3);  
    border-radius: 10px;  
    background-color: lightgray;  
}  

/*定义滑块 内阴影+圆角*/  
::-webkit-scrollbar-thumb  
{  
    border-radius: 10px;  
    -webkit-box-shadow: inset 0 0 6px rgba(0,0,0,.3);  
    background-color: blue;  
}  
/*定义最上方和最下方的按钮*/
::-webkit-scrollbar-button{
     background-color: #000;
     border:1px solid yellow;
}


具体的详细介绍,大家可以参考网址:http://www.xuanfengge.com/css3-webkit-scrollbar.html

最后,上面的写法仅支持谷歌浏览器,不兼容火狐、IE。。

IE 的写法和上面不太一样

scrollbar-arrow-color: color; /*三角箭头的颜色*/
scrollbar-face-color: color; /*立体滚动条的颜色(包括箭头部分的背景色)*/
scrollbar-3dlight-color: color; /*立体滚动条亮边的颜色*/
scrollbar-highlight-color: color; /*滚动条的高亮颜色(左阴影?)*/
scrollbar-shadow-color: color; /*立体滚动条阴影的颜色*/
scrollbar-darkshadow-color: color; /*立体滚动条外阴影的颜色*/
scrollbar-track-color: color; /*立体滚动条背景颜色*/
scrollbar-base-color:color; /*滚动条的基色*/

令人遗憾的是 火狐目前还没有修改滚动条样式的 CSS支持,但是我们可以用插件 malihu-custom-scrollbar-plugin
具体的插件使用介绍网址:https://www.cnblogs.com/yclblog/p/6806496.html
————————————————
原文链接:https://blog.csdn.net/u013594477/article/details/80353850

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: -webkit-scrollbar 不生效可能是因为以下原因: 1. 浏览器版本过低,不支持该属性。 2. 该属性被浏览器厂商禁用了。 3. 该属性被其他 CSS 样式覆盖了。 4. 该属性被 JavaScript 动态修改了。 解决方法: 1. 升级浏览器版本。 2. 检查浏览器是否禁用了该属性。 3. 检查其他 CSS 样式是否覆盖了该属性。 4. 禁止 JavaScript 动态修改该属性。 ### 回答2: 在网页设计中,经常会遇到需要使用 CSS 样式来美化滚动条的需求。而其中涉及到的 -webkit-scrollbar 样式,是 WebKit 内核浏览器(如 Chrome、Safari 等)特有的样式。 -webkit-scrollbar 样式主要包括以下几个属性: - ::-webkit-scrollbar:用于匹配整个滚动条元素。 - ::-webkit-scrollbar-button:用于匹配滚动条的按钮部分。 - ::-webkit-scrollbar-thumb:用于匹配滚动条的滑块部分。 - ::-webkit-scrollbar-track:用于匹配滚动条的轨道部分。 - ::-webkit-scrollbar-corner:用于匹配轨道和滑块的交汇处。 遇到 -webkit-scrollbar 样式不生效的问题,可能有以下几个原因: 一、浏览器不支持 -webkit-scrollbar 样式 -webkit-scrollbar 样式WebKit 内核浏览器特有的,因此其他的浏览器(如 Firefox、Edge 等)并不支持该样式。如果我们在 Firefox 浏览器中使用 -webkit-scrollbar 样式,是无法生效的。 二、特定浏览器版本的问题 -webkit-scrollbar 样式也会因浏览器版本的不同而产生差异。需要根据不同的浏览器版本选择合适的样式来使用。 三、样式命名问题 在使用 -webkit-scrollbar 样式时,我们需要注意其命名规则。由于使用的是双冒号 (::),因此样式命名需要精确匹配。如下面的示例代码: ::-webkit-scrollbar { width: 8px; } 此时如果将 ::-webkit-scrollbar 写成了 :-webkit-scrollbar,或者将双冒号漏掉,样式就会失效。因此,在书写 -webkit-scrollbar 样式时,需要仔细检查样式命名是否正确。 综上所述,-webkit-scrollbar 样式不生效可能有多种原因,需要从浏览器支持、版本以及样式命名等方面进行排查。同时,也需要注意 -webkit-scrollbar 样式只适用于 WebKit 内核浏览器,其他浏览器需要使用不同的样式来美化滚动条。 ### 回答3: 在网页开发中,我们可以通过CSS样式来控制网页的外观,其中包括控制滚动条样式和行为。CSS提供了一个名为“::-webkit-scrollbar”的伪元素,可以用来调整Webkit浏览器(如Chrome、Safari等)的滚动条样式。 通常情况下,我们可以通过设置“::-webkit-scrollbar”的各个属性来自定义滚动条的外观和行为,比如“::-webkit-scrollbar-track”用于设置滚动条的背景颜色,“::-webkit-scrollbar-thumb”用于设置滚动条的滑块颜色等等。 但是,有时候我们在使用“::-webkit-scrollbar”时,会发现它不生效,滚动条样式还是默认的。这可能是由于以下原因: 1. 兼容性问题:虽然“::-webkit-scrollbar”是Webkit浏览器的私有属性,但是并不是在所有版本的Webkit浏览器中都被支持或者支持程度不同,可能会导致某些样式无法生效。 2. 样式优先级问题:如果CSS样式表中同时设置了多个滚动条样式,可能会出现样式冲突的问题,导致一些样式无法被应用。此时,我们可以通过检查CSS样式表中各个样式的优先级来解决问题。 3. 浏览器设置问题:有些浏览器可能会禁止用户自定义滚动条样式,这时就算使用了“::-webkit-scrollbar”也无法生效。用户可以通过浏览器设置或插件来解决此问题。 针对这些问题,我们可以采取以下方法来解决“::-webkit-scrollbar”不生效的问题: 1. 检查代码:检查代码中是否设置了正确的样式、是否设置了多个样式等问题。 2. 多用其他样式:如果“::-webkit-scrollbar”不起作用,我们可以尝试使用其他样式来控制滚动条,比如使用JavaScript和jQuery等技术来实现滚动条样式和行为。 3. 优先级调整:调整CSS样式中各个样式的优先级,确保“::-webkit-scrollbar样式能够被最终应用。 总之,“::-webkit-scrollbar”不生效的原因可能有很多,我们需要仔细检查代码和调试样式,找出并解决问题。同时,我们可以尝试使用其他技术实现相同的效果,以达到预期的目标。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值