浏览器自定义滚动条样式

article/2025/10/31 2:05:36

当一段文本过长,使用overflow:auto属性后,这段文本所在区域将会出现滚动条。有时候,我们需要自定义浏览器的滚动条样式,可以使用css3的scrollbar-thumb属性来实现。

首先看一下这个属性的兼容性。
在这里插入图片描述

可见这个属性在pc端支持的并不是特别好,仅支持webkit浏览器,属性需要带有-webkit-前缀。

所以,在pc端请在Chrome或者Safari浏览器中查看效果。

再来看一下滚动条选择器的各个属性的用处。

::-webkit-scrollbar — 整个滚动条.
::-webkit-scrollbar-button — 滚动条上的按钮 (上下箭头).
::-webkit-scrollbar-thumb — 滚动条上的滚动滑块.

::-webkit-scrollbar-track — 滚动条轨道.

::-webkit-scrollbar-track-piece — 滚动条没有滑块的轨道部分.

::-webkit-scrollbar-corner — 当同时有垂直滚动条和水平滚动条时交汇的部分.

::-webkit-resizer — 某些元素的corner部分的部分样式(例:textarea的可拖动按钮).

上述各个属性的说明摘录自MDN(https://developer.mozilla.org/zh-CN/docs/Web/CSS/::-webkit-scrollbar)

根据以上介绍,可以写一个自定义的滚动条效果。

/* 整个滚动条的样式 */
::-webkit-scrollbar {width: 16px;height: 16px;border: 2px solid #f2f2f2;background-color: #F2F2F2;
}/* 滚动条的轨道两端按钮,允许通过点击微调小方块的位置 */
::-webkit-scrollbar-button {display: none;
}/* 滚动条的轨道样式 */
::-webkit-scrollbar-track {background-color: #F2F2F2;
}/* 内层轨道样式 */
::-webkit-scrollbar-track-piece {background-color: #f2f2f2;
}/* 滚动条里面的小方块,能上下移动 */
::-webkit-scrollbar-thumb {border-radius: 6px;box-shadow: inset 0 0 1px 0 #f2f2f2;border: 3px solid #f2f2f2;background-color: #D9D9D9;
}/* 滚动条滑块hover时样式 */
::-webkit-scrollbar-thumb:vertical:hover,
::-webkit-scrollbar-thumb:horizontal:hover {background-color: #c0c0c0;
}

代码运行效果如下:

还有一些伪类也可以使用于滚动条。

: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 {  
/*当鼠标在水平滚动条下面的按钮上的状态*/  
}  

另外,:enabled,:disabled,:hover,:active伪类也可以用于滚动条。


http://chatgpt.dhexx.cn/article/clr1lDfG.shtml

相关文章

overflow产生的滚动条样式设置

修改overflow产生的滚动条样式,主要可以通过如下三个伪元素设置: 1)-webkit-scrollbar:设置水平滚动条的高度,垂直滚动的宽度 2)-webkit-scrollbar-thumb:设置滚动条里面的滑块样式 3)-webkit-scrollbar-track&…

滚动条样式美化

之前做的项目中客户觉得滚动条的样式样式很丑,让我们优化一下。既然客户有要求那肯定得满足啊,但是因为我也没有做过,也不知道咋搞,于是就在网上搜索了一下。发现可以通过 ::-webkit-scrollbar CSS伪类选择器来美化滚动条样式。使…

Css实现漂亮的滚动条样式(转载)

转载于 https://www.jianshu.com/p/c2addb233acd 第一种 <div class"test test-1"><div class"scrollbar"></div> </div>.test {width : 50px;height : 200px;overflow: auto;float : left;margin : 5px;border : none;}.…

css修改滚动条样式

css自定义滚动条样式 自定义滚动条实例代码&#xff1a; 有时候觉得浏览器自带的滚动条&#xff0c;实在是太丑了&#xff0c;一点点内容超出比例&#xff0c;就是多大的一个滚动条就来了&#xff0c;实在是遭不住&#xff0c;所以我就动手了&#xff01;&#xff01;&#xff…

CSS-滚动条样式设置

注意&#xff1a;滚动条设置的width、height&#xff0c;分别是对应纵向滚动条 宽度、横向滚动条 高度&#xff0c;无法修改纵向滚动条高度、横向滚动条宽度数值只介绍Google浏览器滚动条样式&#xff0c;常用属性如下&#xff1a; 注意&#xff1a;滚动条设置的width、height&…

滚动条基本样式设置

::-webkit-scrollbar 系列属性 详细使用说明 ::-webkit-scrollbar注意&#xff1a;如果没有设置滚动溢出的相关属性&#xff0c;滚动条样式系列属性不会生效&#xff08;resize 除外&#xff09;。属性 ::-webkit-scrollbar 整个滚动条。::-webkit-scrollbar-button 滚动条上的…

修改滚动条样式

修改滚动条样式 如果给父元素固定了宽高&#xff0c;子元素设置overflow:auto时&#xff0c;就会出现滚动条&#xff0c;而浏览器默认的滚动条样式并不是很美观&#xff0c;如下图所示 为了让显示的滚动条更好看些&#xff0c;可以对滚动条样式进行设置&#xff0c;关键css代…

CSS设置滚动条样式

今天在写一个项目的时候遇到了&#xff0c;这样一个小难点 要设置一个类似于页面的滚动条&#xff0c;查阅了相关文档之后&#xff0c;我会了 一、我们可以使用overflow属性设置是否出现滚动条overflow:scroll /* x y 方向都会*/ 或者 overflow-x:scroll /只是x方向/ 或者…

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

webkit浏览器css设置滚动条主要有下面7个属性 1. ::-webkit-scrollbar 滚动条整体部分&#xff0c;可以设置宽度啥的 2. ::-webkit-scrollbar-button 滚动条两端的按钮 3. ::-webkit-scrollbar-track 外层轨道 4. ::-webkit-scrollbar-track-piece 内层滚动槽 5. ::-webkit-s…

css修改滚动条的样式

滚动条的默认样式是这样的&#xff1a; 大灰块做背景&#xff0c;内嵌小灰块做滚动距离的展示。 再加上贴边的宽度&#xff0c;对于内容本身就比较窄的区域来说&#xff0c;这种样式笨重感十足&#xff01; 单调且无趣&#xff01; 而像这种样式的滚动条就比较可以了。 滚动…

【CSS】滚动条样式详解

【只总结webkit的&#xff0c;IE与firefox暂不做记录】 呼出与关闭滚动条 1.如果是浏览器的滚动条&#xff0c;其依赖的是html标签&#xff0c;我们不需要设置&#xff0c;内容溢出会自动出现 /*对html标签的溢出样式隐藏即可*/ html {overflow-x:hidden; //隐藏水平滚动条o…

滚动条样式修改

前言 浏览器中的滚动条样式大家一定都不陌生&#xff0c;其样式并不好康。可能很多小伙伴还不知道&#xff0c;这个东东的样式也可以修改&#xff08;仅支持部分现代浏览器&#xff09;&#xff0c;本次就来带大家用 CSS 修改一下它的样式。 一、认识滚动条 首先我们先来简单…

Java中compareTo()方法比较字符串详解

中心&#xff1a;String 是字符串,它的比较用compareTo方法,它从第一位开始比较, 如果遇到不同的字符,则马上返回这两个字符的ascii值差值.返回值是int类型 1.当两个比较的字符串是英文且长度不等时&#xff0c; 1&#xff09;长度短的与长度长的字符一样&#xff0c;则返回的…

Comparable Comparator的区别

Comparable & Comparator接口都可以用来实现集合中元素的比较、排序&#xff0c;Comparator位于包java.util下&#xff0c; Comparable位于包java.lang下 Comparable接口将比较代码嵌入自身类中 Comparator在一个独立的类中实现比较。 像Integer、String等这些基本类型的JA…

Comparable接口和compareTo()函数

Comparable Comparable可以认为是一个内比较器&#xff0c;实现了Comparable接口的类有一个特点&#xff0c;就是这些类是可以和自己比较的&#xff0c;至于具体和另一个实现了Comparable接口的类如何比较&#xff0c;则依赖compareTo方法的实现&#xff0c;compareTo方法也被…

Compareable接口的compareTo方法详解

Compareable接口可以实现类中成员属性的排序方法。通过重写Compareable接口中的CompareTo方法实现自定义规则的排序。 针对Compareable接口的排序方式,将通过对学生类和测试类进行一个代码演示 一般情况下 一般情况下Compareable接口是实现自然排序,即依照对象的添加顺序进行…

关于比较CompareTo的用法

CompareTo的比较原理&#xff1a; 先读取出字符串的第一个“字母”进行比较&#xff0c;比较的方法是ascii码表的值&#xff08;字符所对应的十进制值&#xff09;&#xff0c;如果前面的大那么返回1&#xff0c;后面的大返回-1&#xff1b;此位置相同&#xff0c;继续比较下一…

Java compare方法和compareTo方法

1.compare 对于 public int compare(Object arg0, Object arg1)的理解 //数组排序 String[] str new String[5]; Arrays.sort(str, new Comparator<String>() {Overridepublic int compare(String o1, String o2) {// TODO Auto-generated method stubreturn 0;} }); …

compareTo比较大小

public class TestInteger {public static void main(String[] args){//比较大小Integer i1new Integer(3);Integer i2new Integer(5);System.out.println(i1.compareTo(i2));} }因为i1<i2&#xff0c;所以输出的是-1&#xff1b; compareTo() 方法用于将 Number 对象与方法…

Java之比较CompareTo的用法

CompareTo的比较原理&#xff1a; 先读取出字符串的第一个“字母”进行比较&#xff0c;比较的方法是ascii码表的值&#xff08;字符所对应的十进制值&#xff09;&#xff0c;如果前面的大那么返回1&#xff0c;后面的大返回-1&#xff1b;此位置相同&#xff0c;继续比较下一…