修改webkit内核浏览器滚动条样式(修改element-ui table样式)

news/2024/7/24 7:01:28

webkit浏览器css设置滚动条主要有下面7个属性

1. ::-webkit-scrollbar 滚动条整体部分,可以设置宽度啥的

2. ::-webkit-scrollbar-button 滚动条两端的按钮

3. ::-webkit-scrollbar-track  外层轨道

4. ::-webkit-scrollbar-track-piece  内层滚动槽

5. ::-webkit-scrollbar-thumb 滚动的滑块

6. ::-webkit-scrollbar-corner 边角

7 .::-webkit-resizer 定义右下角拖动块的样式

具体如图所示

 

下面是滚动条的主要几个设置属性

:horizontal 水平方向的滚动条

:vertical 垂直 方向的滚动条

:decrement 应用于按钮和内层轨道(track piece)。它用来指示按钮或者内层轨道是否会减小视窗的位置(比如,垂直滚动条的上面,水平滚动条的左边。)

:increment decrement类似,用来指示按钮或内层轨道是否会增大视窗的位置(比如,垂直滚动条的下面和水平滚动条的右边。)

:start 伪类也应用于按钮和滑块。它用来定义对象是否放到滑块的前面。

:end 类似于start伪类,标识对象是否放到滑块的后面。

:double-button  该伪类以用于按钮和内层轨道。用于判断一个按钮是不是放在滚动条同一端的一对按钮中的一个。对于内层轨道来说,它表示内层轨道是否紧靠一对按钮。

:single-button 类似于double-button伪类。对按钮来说,它用于判断一个按钮是否自己独立的在滚动条的一段。对内层轨道来说,它表示内层轨道是否紧靠一个single-button。

:no-button 用于内层轨道,表示内层轨道是否要滚动到滚动条的终端,比如,滚动条两端没有按钮的时候。

:corner-present  用于所有滚动条轨道,指示滚动条圆角是否显示。

:window-inactive 用于所有的滚动条轨道,指示应用滚动条的某个页面容器(元素)是否当前被激活。(在webkit最近的版本中,该伪类也可以用于::selection伪元素。webkit团队有计划扩展它并推动成为一个标准的伪类) 

使用示例: 


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

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

/*定义滑块 内阴影+圆角*/
::-webkit-scrollbar-thumb {
  border-radius: 3px;
  -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, .3);
  background-color: #fff;
}

如果想要单独修改某个div的样式,可以直接加前缀

如下所示:

<div class="scrollbar" id="style-1">
     <div class="force-overflow"></div>
</div>


<style>
    #style-1::-webkit-scrollbar-track
    {
        -webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.3);
        border-radius: 10px;
        background-color: #F5F5F5;
    }
 
    #style-1::-webkit-scrollbar
    {
        width: 12px;
        background-color: #F5F5F5;
    }
 
    #style-1::-webkit-scrollbar-thumb
    {
        border-radius: 20px;
        -webkit-box-shadow: inset 0 0 6px rgba(0,0,0,.3);
        background-color: #555;
    }

</style>

注意: 如果修改的是组件下的滚动条,也要找到显示滚动条的那个div

例如,修改element-ui的table的滚动条的样式:

.darkTable .el-table__body-wrapper::-webkit-scrollbar-thumb {
  border-radius: 3px;
  -webkit-box-shadow: #17264d;
  background-color: #3858ab;
}
.darkTable .el-table__body-wrapper::-webkit-scrollbar {
  width: 4px;
  height: 6px;
  background-color: #17264d;
}

 

参考文章: https://www.cnblogs.com/dragonir/p/7473661.html


http://www.niftyadmin.cn/n/951521.html

相关文章

vue3 reactive函数用法

reactive的用法与ref的用法相似&#xff0c;也是将数据变成响应式数据&#xff0c;当数据发生变化时UI也会自动更新。不同的是ref用于基本数据类型&#xff0c;而reactive是用于复杂数据类型&#xff0c;比如对象和数组 例如&#xff1a;定义一个对象类型的变量user <templ…

Vue Function-based API RFC

转载尤大大的文章&#xff1a;https://zhuanlan.zhihu.com/p/68477600 2020 年一月又注&#xff1a;RFC 已经被完全重写&#xff0c;最新版本请以 https://composition-api.vuejs.org/ 为准。以下内容会有部分与最新的 API 有出入&#xff0c;但依然可以帮助理解。 --- 译注…

[import ... from」、「 import ... = require()」 和 「import(path: string)」有什么区别?

1、import ... from2、import(path: string)3、import ... require() 前两个都是ES6的模块语法&#xff0c;第3个import ... require() 是ts的语法 使用export命令定义了模块的对外接口以后&#xff0c;其他 JS 文件就可以通过import命令加载这个模块 第1个&#xff1a;im…

TS之类型断言

类型断言用于手动指定一个值的类型。 一、语法 值 as 类型 二、用途 2.1 将一个联合类型断言为其中一个类型 interface Cat {name:string;run():void; } interface Fish {name:string;swim():void; } function getName(animal:Cat|Fish):string{return animal.name; } 只…

vue props和attrs

vue3 props 要先声明才能取值&#xff0c;attrs不用声明直接使用&#xff08;$attrs 包含 class and style attribute&#xff09;props 不包含事件&#xff0c;attrs包含 props 支持 String 以外的类型&#xff0c;attrs只有 String 类型 props 没有声明的属性&#xff0c;会…

vue3 setup使用(详细)

官网vue3-setup 总结&#xff1a; 1、setup 函数时&#xff0c;它将接受两个参数&#xff1a;&#xff08;props、context(包含attrs、slots、emit)&#xff09; 2、setup函数是处于 生命周期函数 beforeCreate 和 Created 两个钩子函数之前的函数 3、执行 setup 时&#x…

vue3 computed和watch

学习笔记记录&#xff08;内容来源于官网&#xff09; computed vue3 计算属性和vue2变化不大&#xff0c;只需要注意&#xff0c;它返回的是一个响应式的ref对象,所以在使用的时候需要.value(模板中使用不需要&#xff0c;会自动展开) const count ref(1) const plusOne …

watch和watchEffect

学习笔记记录&#xff08;内容来源于官网&#xff09; watch vue3watch用法和vue变化也不是特别大&#xff0c;vue3支持侦听多个数据源 用法没太大变化&#xff1a;wach是一个钩子函数&#xff0c;支持传入三个参数&#xff08;个人理解&#xff09; 1、监听对象 2、回调函…