当前位置: 首页 > news >正文

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

相关文章:

  • GIS开发-天地图按照地名搜索定位
  • css3中的伪类before和after常见用法
  • openlayers4获取一个图形的边界
  • Vue.js小例子--tab选项卡切换
  • 使用openlayers3加载png格式图片
  • openalyers为自定义覆盖物overlay添加点击事件
  • absolute和float的区别
  • float定位对内联元素和块状元素的影响
  • javascript实现拖拽弹框高度,可调节弹框大小
  • vue中的template标签
  • SVN文件夹图标显示不正常的解决办法
  • 集中式开发和分布式开发的区别
  • SVN与GIT的优缺点对比
  • cesiumjs加载geojson+建筑物分层设色
  • js数组中关于filter()、map()、some()、every()、forEach()
  • python3.6+scrapy+mysql 爬虫实战
  • [译] 理解数组在 PHP 内部的实现(给PHP开发者的PHP源码-第四部分)
  • 345-反转字符串中的元音字母
  • E-HPC支持多队列管理和自动伸缩
  • es6--symbol
  • extjs4学习之配置
  • leetcode388. Longest Absolute File Path
  • Magento 1.x 中文订单打印乱码
  • Mybatis初体验
  • OSS Web直传 (文件图片)
  • Perseus-BERT——业内性能极致优化的BERT训练方案
  • Python十分钟制作属于你自己的个性logo
  • React-redux的原理以及使用
  • SOFAMosn配置模型
  • 初识 webpack
  • 搭建gitbook 和 访问权限认证
  • 关于List、List?、ListObject的区别
  • 后端_MYSQL
  • 来,膜拜下android roadmap,强大的执行力
  • 小程序、APP Store 需要的 SSL 证书是个什么东西?
  • 一个完整Java Web项目背后的密码
  • 3月27日云栖精选夜读 | 从 “城市大脑”实践,瞭望未来城市源起 ...
  • 如何用纯 CSS 创作一个货车 loader
  • ​MPV,汽车产品里一个特殊品类的进化过程
  • #《AI中文版》V3 第 1 章 概述
  • #pragma once
  • (02)vite环境变量配置
  • (echarts)echarts使用时重新加载数据之前的数据存留在图上的问题
  • (solr系列:一)使用tomcat部署solr服务
  • (SpringBoot)第二章:Spring创建和使用
  • (转) Face-Resources
  • (转)C#开发微信门户及应用(1)--开始使用微信接口
  • (转)Linq学习笔记
  • .h头文件 .lib动态链接库文件 .dll 动态链接库
  • .mkp勒索病毒解密方法|勒索病毒解决|勒索病毒恢复|数据库修复
  • .Net 6.0 处理跨域的方式
  • .NET Micro Framework初体验(二)
  • .net 后台导出excel ,word
  • .NET分布式缓存Memcached从入门到实战
  • .NET牛人应该知道些什么(2):中级.NET开发人员