css自定义滚动条样式

el/2024/5/1 14:06:06

原文地址:https://www.cnblogs.com/ranyonsue/p/9487599.html

自定义滚动条实现

此部分针对webkit内核的浏览器,使用伪类来改变滚动条的默认样式,详情如下:


滚动条组成部分

1. ::-webkit-scrollbar 滚动条整体部分

2. ::-webkit-scrollbar-thumb 滚动条里面的小方块,能向上向下移动(或向左向右移动)

3. ::-webkit-scrollbar-track 滚动条的轨道(里面装有Thumb)

4. ::-webkit-scrollbar-button 滚动条的轨道的两端按钮,由于通过点击微调小方块的位置。

5. ::-webkit-scrollbar-track-piece 内层轨道,滚动条中间部分

6. ::-webkit-scrollbar-corner 边角,即垂直滚动条和水平滚动条相交的地方

7. ::-webkit-resizer 两个滚动条的交汇处上用于拖动调整元素大小的小控件

 

滚动条组成结构图如下:

 

 

其他设置项:

:horizontal  
//horizontal伪类适用于任何水平方向上的滚动条  :vertical  
//vertical伪类适用于任何垂直方向的滚动条  :decrement  
//decrement伪类适用于按钮和轨道碎片。表示递减的按钮或轨道碎片,例如可以使区域向上或者向右移动的区域和按钮  :increment  
//increment伪类适用于按钮和轨道碎片。表示递增的按钮或轨道碎片,例如可以使区域向下或者向左移动的区域和按钮  :start  
//start伪类适用于按钮和轨道碎片。表示对象(按钮 轨道碎片)是否放在滑块的前面  :end  
//end伪类适用于按钮和轨道碎片。表示对象(按钮 轨道碎片)是否放在滑块的后面  :double-button  
//double-button伪类适用于按钮和轨道碎片。判断轨道结束的位置是否是一对按钮。也就是轨道碎片紧挨着一对在一起的按钮。  :single-button  
//single-button伪类适用于按钮和轨道碎片。判断轨道结束的位置是否是一个按钮。也就是轨道碎片紧挨着一个单独的按钮。  :no-button  
no-button伪类表示轨道结束的位置没有按钮。  :corner-present  
//corner-present伪类表示滚动条的角落是否存在。  :window-inactive  
//适用于所有滚动条,表示包含滚动条的区域,焦点不在该窗口的时候。  ::-webkit-scrollbar-track-piece:start {  
/*滚动条上半边或左半边*/  
}  ::-webkit-scrollbar-thumb:window-inactive {  
/*当焦点不在当前区域滑块的状态*/  
}  ::-webkit-scrollbar-button:horizontal:decrement:hover {  
/*当鼠标在水平滚动条下面的按钮上的状态*/  
}  

 

实例:

Html

<div class="test test-1"><div class="scrollbar"></div></div>

Css

.test{width: 50px;height: 200px;overflow: auto;float: left;margin: 5px;border: none;}.scrollbar{width: 30px;height: 300px;margin: 0 auto;}.test-1::-webkit-scrollbar {/*滚动条整体样式*/width: 10px;     /*高宽分别对应横竖滚动条的尺寸*/height: 1px;}.test-1::-webkit-scrollbar-thumb {/*滚动条里面小方块*/border-radius: 10px;-webkit-box-shadow: inset 0 0 5px rgba(0,0,0,0.2);background: #535353;}.test-1::-webkit-scrollbar-track {/*滚动条里面轨道*/-webkit-box-shadow: inset 0 0 5px rgba(0,0,0,0.2);border-radius: 10px;background: #EDEDED;}

效果如下如:

 

注意只在chrome下有效!

::-webkit-scrollbar{}这种写法改变的是全局的滚动条。


http://www.ngui.cc/el/561430.html

相关文章

高德地图使用vue-amap 自定义点坐标

1.安装 npm install -S vue-amap 2.自定义点坐标 如果在地图上不显示相应的内容&#xff0c; 注意下面两点 <template><div class"amap-page-container"><el-amapvid"amapDemo" :center"center":zoom"zoom"class…
阅读更多...

vue-awesome-swiper 的安装和使用 总结

安装 npm install vue-awesome-swiper --save 全局引入 import Vue from vue import VueAwesomeSwiper from vue-awesome-swiper// require styles import swiper/dist/css/swiper.cssVue.use(VueAwesomeSwiper, /* { default global options } */) 实例 <template>…
阅读更多...

列表循环添加样式的方法

第一种 <ul><li v-for"index in 6" :class"itemindex">XXXXXX</li> </ul>第二种 <li v-for"item in list" class{classA: item.type type1, classB: item.type type2}>XXXXXX</li>第三种 注意在循环的…
阅读更多...

箭头函数中的this指向

箭头函数中this指向父作用域 实例一 1. let a {foo: 1,bar: () > console.log(this.foo) } a.bar() //undefinedbar函数中的this指向父作用域&#xff0c;而a对象没有作用域&#xff0c;因此this不是a&#xff0c;打印结果为undefined function A() {this.foo 1 }A.p…
阅读更多...

WebSocket流程

参考文档&#xff1a;http://www.ruanyifeng.com/blog/2017/05/websocket.html var ws new WebSocket("wss://echo.websocket.org");ws.onopen function(evt) { console.log("Connection open ..."); ws.send("Hello WebSockets!"); };ws.onme…
阅读更多...

邮箱正则验证(vant实例)

正则 /^[a-z0-9]([._\\-]*[a-z0-9])*([a-z0-9][-a-z0-9]*[a-z0-9].){1,63}[a-z0-9]$/ 下面的实例用vant编写 <template><transition name"fade" appear><van-form submit"onSubmit"><!-- 邮箱 --><van-fieldv-model"em…
阅读更多...

正则清除字符串中的空格

关键代码 replace(/\s*/g, ) 正则 \s &#xff1a; 匹配任何空白字符&#xff0c;包括空格、制表符、换页符等等。等价于 [ \f\n\r\t\v]。注意 Unicode 正则表达式会匹配全角空格符。 正则 g&#xff1a; 全局搜索所有的空格&#xff0c;不加只会搜索字符串中的第一个 …
阅读更多...

正则验证身份证号+vant实例

关键代码 /*** 验证身份证号18位*//^[1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/ /*** 验证身份证号15位*//^[1-9]\d{5}\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{2}[0-9Xx]$/ vant实例 <template&g…
阅读更多...

正则验证手机号(vant实例)

关键代码 /^1[3456789]\d{9}$/ 实例 <template><van-form submit"onSubmit"><van-fieldv-model"phonenumber":rules"[{ required: true, message: 请填写您的手机号码&#xff01; },{ pattern: /^1[3456789]\d{9}$/, message: 手…
阅读更多...

数组四个方法,添加删除元素

数组四个方法 push()方法可以在数组的末属添加一个或多个元素shift()方法把数组中的第一个元素删除unshift()方法可以在数组的前端添加一个或多个元素pop()方法把数组中的最后一个元素删除 添加元素&#xff0c;push&#xff0c;unshift unshift在数组的开头添加一个或多个元…
阅读更多...
最新文章

代做工资流水公司南昌流水账单制作衡阳入职流水淄博银行流水电子版模板淮安打印房贷收入证明开封办对公账户流水临沂工资证明多少钱鞍山企业对公流水费用莆田银行流水PS打印揭阳流水单样本宿迁离职证明费用东莞收入证明价格泰州查入职工资流水盐城转账银行流水报价盐城薪资银行流水报价江门入职银行流水代开淄博入职银行流水模板肇庆办理企业流水打印福州房贷银行流水 查询淮安代做房贷银行流水太原入职银行流水办理宁德转账银行流水公司临沂公司银行流水查询泰州查询流水德阳公司流水报价岳阳查询房贷流水惠州开背调工资流水宁德代做背调工资流水柳州购房银行流水模板制作流水账单潍坊办流水香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声卫健委通报少年有偿捐血浆16次猝死汪小菲曝离婚始末何赛飞追着代拍打雅江山火三名扑火人员牺牲系谣言男子被猫抓伤后确诊“猫抓病”周杰伦一审败诉网易中国拥有亿元资产的家庭达13.3万户315晚会后胖东来又人满为患了高校汽车撞人致3死16伤 司机系学生张家界的山上“长”满了韩国人?张立群任西安交通大学校长手机成瘾是影响睡眠质量重要因素网友洛杉矶偶遇贾玲“重生之我在北大当嫡校长”单亲妈妈陷入热恋 14岁儿子报警倪萍分享减重40斤方法杨倩无缘巴黎奥运考生莫言也上北大硕士复试名单了许家印被限制高消费奥巴马现身唐宁街 黑色着装引猜测专访95后高颜值猪保姆男孩8年未见母亲被告知被遗忘七年后宇文玥被薅头发捞上岸郑州一火锅店爆改成麻辣烫店西双版纳热带植物园回应蜉蝣大爆发沉迷短剧的人就像掉进了杀猪盘当地回应沈阳致3死车祸车主疑毒驾开除党籍5年后 原水城县长再被查凯特王妃现身!外出购物视频曝光初中生遭15人围殴自卫刺伤3人判无罪事业单位女子向同事水杯投不明物质男子被流浪猫绊倒 投喂者赔24万外国人感慨凌晨的中国很安全路边卖淀粉肠阿姨主动出示声明书胖东来员工每周单休无小长假王树国卸任西安交大校长 师生送别小米汽车超级工厂正式揭幕黑马情侣提车了妈妈回应孩子在校撞护栏坠楼校方回应护栏损坏小学生课间坠楼房客欠租失踪 房东直发愁专家建议不必谈骨泥色变老人退休金被冒领16年 金额超20万西藏招商引资投资者子女可当地高考特朗普无法缴纳4.54亿美元罚金浙江一高校内汽车冲撞行人 多人受伤

代做工资流水公司 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化