自定义浏览器滚动条样式

算法青霭客
• 阅读 5478

在做一个主题换肤的需求时,需要根据用户选择的主题,适配页面元素的配色。

这里就涉及到对浏览器默认滚动条样式的编辑。

查阅了文档发现,目前webkit支持拥有overflow属性的区域,列表框、下拉菜单、textarea的滚动条自定义样式,所以用处还是很大的。

滚动条组成部分

::-webkit-scrollbar     滚动条整体部分 
::-webkit-scrollbar-thumb     滚动条里的小方块,能向上向下移动(或往左往右移动,取决于是垂直滚动条还是水平滚动条) 
::-webkit-scrollbar-track     滚动条的轨道(里面装有thumb) 
::-webkit-scrollbar-button     滚动条的轨道的两端按钮,允许通过点击微调小方块的位置 
::-webkit-scrollbar-track-piece     内层轨道,滚动条中间部分

了解了滚动条各个属性后,就可以开始设置样式,代码如下。

因为需求只需要符合主题配色,所以这次我们只设置滚动条背景::-webkit-scrollbar,滚动条轨道::-webkit-scrollbar和小滑块::-webkit-scrollbar-track的样式::-webkit-scrollbar-thumb即可,如下:

.ant-calendar-time-picker-select {
    border-right: 1px solid var(--timerRangeBorderColor);
    overflow-y: scroll;
    /*定义滚动条高宽及背景
    高宽分别对应横竖滚动条的尺寸*/
    &::-webkit-scrollbar {
      background-color: #333333;
    }
    /*定义滚动条轨道
    内阴影+圆角*/
    &::-webkit-scrollbar-track {
      -webkit-box-shadow:inset 0 0 6px #333333;
      border-radius:10px;
      background-color: #9C9C9C;
    }
    /*定义滑块
    内阴影+圆角*/
    &::-webkit-scrollbar-thumb {
      border-radius:10px;
      -webkit-box-shadow:inset 0 0 6px #9C9C9C;
      background-color: #9C9C9C;
    }
    .ant-calendar-time-picker-select-option-selected {
      color: #FFFFFF;
      background-color: #9C9C9C;
    }
}

效果如下,如果需要设置其他的样式,也可根据具体需求调整。
自定义浏览器滚动条样式

参考文章: https://segmentfault.com/a/1190000012800450

点赞
收藏
评论区
推荐文章
美凌格栋栋酱 美凌格栋栋酱
8个月前
Oracle 分组与拼接字符串同时使用
SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(
Stella981 Stella981
3年前
Ace 2.1.3
Acev2.1.3是一个响应迅速,易于使用且功能丰富的管理模板,基于Bootstrap4它干净且结构良好,无论是否由Ruby,PHP,ASP.NET等驱动,都可以轻松与您的应用程序集成有:具有多个自定义选项的多个侧边栏和导航栏主题前端登陆页面自定义元素,例如:侧面和滑块复选框和开关滚动条档案输入适用于移动设备的下拉菜单滑动移动
Wesley13 Wesley13
3年前
CSS基本用法介绍
CSS介绍css定义如何显示HTML元素.当浏览器读到一个样式表,它就会按照这个样式表来对文档进行格式化(渲染).CSS语法css实列每个CSS样式由两个组成部分:选择器和声明。声明又包括属性和属性值。每个声明之后用分号结束。css注释/这是注释/CSS的几种引入方
Stella981 Stella981
3年前
Sass
嵌套规则(NestedRules)Sass允许将一套CSS样式嵌套进另一套样式中,内层的样式将它外层的选择器作为父选择器mainp{color:00ff00;width:97%;.redbox{
Stella981 Stella981
3年前
Delphi XE2 之 FireMonkey 入门(39)
TScrollBox是不少控件(TMemo、TListBox、TStringGrid、TTreeView、TImageViewer等)的基础,所以先学.TVertScrollBox只比TScrollBox少了竖滚动条.TFramedScrollBox、TFramedVertScrollBox只是套用了不同的样式,
Wesley13 Wesley13
3年前
JS和CSS加载(渲染)机制不同
一、结论CSS可以在页面加载完成后随时渲染。举个例子:通过js给某个元素加一个id或者css,只要这个id或者css有对应的样式,此元素的样式就会自动生效。JS不可以在页面加载完成后生效。最明显的例子就是使用EasyUI的时候,iframe中哪些样式无效(EasyUi是依靠JS进行样式处理的,所以无法运行JS,那么样式也就无法设置。简单点说
Stella981 Stella981
3年前
MyClouds
轻量级微服务治理及快速开发平台MyCloudsV1.0 已发布。更新如下1.\优化\优化了进行主题设置时候当前页面相关组件滚动条的实时变色联动的bug。2.\优化\优化了ajax请求在会话超时的时候页面的响应机制。3.\优化\优化了枚举元素下拉列表排序的bug。4.\优化\优化了登录页面的样式和交互体
Wesley13 Wesley13
3年前
MFC 控件编程之水平滚动条跟垂直滚动条
        MFC控件编程之水平滚动条跟垂直滚动条一点水平滚动条的操作  首先在操作滚动条的时候.我们要知道滚动条的一些属性.比如我们要设置最大值最小值.以及每次递增的值是多少.都要设置.所有就有一个结构.专门存储了滚动条信息.而我们在对话框一启动就要
Stella981 Stella981
3年前
JavaScript——页面相关事件
页面事件是在页面加载或改变浏览器的大小、位置,以及对页面中的滚动条进行操作时,所触发的事件处理程序。加载与卸载事件加载事件(onload)是在网页加载完毕后触发相应的事件处理程序,它可以在网页加载完成后对网页中的表格样式、字体、背景颜色等进行设置。卸载事件(unload)是在卸载网页时触发相应的事件处理程序,卸载网页是指关闭当前页或
Stella981 Stella981
3年前
CSS前端经典面试题及解析——小白入门必备
1.CSS选择器的优先级是如何计算的?浏览器通过优先级规则,判断元素展示哪些样式。优先级通过4个维度指标确定,我们假定以a、b、c、d命名,分别代表以下含义:1.a表示是否使用内联样式(inlinestyle)。如果使用,a为1,否则为0。2.b表示ID选择器的数量。3.c表示类选择器、属性
达里尔 达里尔
1年前
滚动条样式美化
滚动条样式优化
算法青霭客
算法青霭客
Lv1
长江悲已滞,万里念将归。
文章
3
粉丝
0
获赞
0