自定义滚动条样式兼容所有浏览器

万恶的浏览器兼容
看人家chrome多么友好,几行css就能自定义样式,ie和火狐各种不行,如果只要求部分兼容的可以直接用css写
chorme

<div class="bar"></div>
.bar{
width:200px;
height:200px;
overflow-y:scroll;
}
.bar::-webkit-scrollbar {/*滚动条整体样式*/
        width: 10px;     /*高宽分别对应横竖滚动条的尺寸*/
        height: 1px;
    }
.bar::-webkit-scrollbar-thumb {/*滚动条里面小方块*/
        border-radius: 10px;
         -webkit-box-shadow: inset 0 0 5px rgba(0,0,0,0.2);
        background: #535353;
    }
.bar::-webkit-scrollbar-track {/*滚动条里面轨道*/
        -webkit-box-shadow: inset 0 0 5px rgba(0,0,0,0.2);
        border-radius: 10px;
        background: #EDEDED;
    }

IE

IE比较少,都以颜色为主 
1.scrollbar-arrow-color: color; /三角箭头的颜色/ 
2.scrollbar-face-color: color; /立体滚动条的颜色(包括箭头部分的背景色)/ 
3.scrollbar-3dlight-color: color; /立体滚动条亮边的颜色/ 
4.scrollbar-highlight-color: color; /滚动条的高亮颜色(左阴影?)/ 
5.scrollbar-shadow-color: color; /立体滚动条阴影的颜色/ 
6.scrollbar-darkshadow-color: color; /立体滚动条外阴影的颜色/ 
7.scrollbar-track-color: color; /立体滚动条背景颜色/ 
8.scrollbar-base-color:color; /滚动条的基色/
.bar{  
        scrollbar-arrow-color: #f4ae21; /**//*三角箭头的颜色*/   
        scrollbar-face-color: #333; /**//*立体滚动条的颜色*/   
        scrollbar-3dlight-color: #666; /**//*立体滚动条亮边的颜色*/   
        scrollbar-highlight-color: #666; /**//*滚动条空白部分的颜色*/   
        scrollbar-shadow-color: #999; /**//*立体滚动条阴影的颜色*/   
        scrollbar-darkshadow-color: #666; /**//*立体滚动条强阴影的颜色*/   
        scrollbar-track-color: #666; /**//*立体滚动条背景颜色*/   
        scrollbar-base-color:#f8f8f8; /**//*滚动条的基本颜色*/   
    } 

最终想要兼容还是要用js…
文档:http://manos.malihu.gr/jquery-custom-content-scroller/
引入插件
css

 <link rel="stylesheet" href="./PC/css/jquery.mCustomScrollbar.min.css" />

js

  <script src="./PC/js/jquery.mCustomScrollbar.concat.min.js"></script>

使用

  ( function ( $ )
            {
                $( window ).on( "load", function ()
                {
                    $( ".ScrollBar" ).mCustomScrollbar();
                } );
            } )( jQuery );
  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
你可以使用 CSS 和 JavaScript 来自定义浏览器滚动条样式并实现跨浏览器兼容性。 首先,通过 CSS 的 `::-webkit-scrollbar` 伪类选择器和相关属性,可以自定义 WebKit 内核浏览器(如 Chrome、Safari)的滚动条样式。例如: ```css /* WebKit 内核浏览器 */ ::-webkit-scrollbar { width: 8px; /* 滚动条宽度 */ } ::-webkit-scrollbar-track { background-color: #f1f1f1; /* 滚动条背景颜色 */ } ::-webkit-scrollbar-thumb { background-color: #888; /* 滚动条滑块颜色 */ } ::-webkit-scrollbar-thumb:hover { background-color: #555; /* 滚动条滑块悬停时颜色 */ } ``` 然后,对于非 WebKit 内核浏览器(如 Firefox、Edge),你可以使用 JavaScript 来修改滚动条样式。例如: ```javascript // 非 WebKit 内核浏览器 const scrollbarStyle = ` width: 8px; background-color: #f1f1f1; `; const scrollbarThumbStyle = ` background-color: #888; `; const scrollbarThumbHoverStyle = ` background-color: #555; `; document.documentElement.style.setProperty('--scrollbar-style', scrollbarStyle); document.documentElement.style.setProperty('--scrollbar-thumb-style', scrollbarThumbStyle); document.documentElement.style.setProperty('--scrollbar-thumb-hover-style', scrollbarThumbHoverStyle); ``` 然后,在 CSS 中使用自定义属性来设置滚动条样式,这样可以保持代码的可维护性: ```css /* 兼容所有浏览器 */ /* 滚动条样式 */ scrollbar-width: thin; scrollbar-color: var(--scrollbar-thumb-style) var(--scrollbar-style); /* 滚动条滑块样式 */ &::-webkit-scrollbar-thumb { background-color: var(--scrollbar-thumb-style); } &::-webkit-scrollbar-thumb:hover { background-color: var(--scrollbar-thumb-hover-style); } ``` 这样,你就可以通过 CSS 和 JavaScript 来自定义浏览器滚动条样式,并且实现跨浏览器兼容性。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值