浏览器滚动条设置

webkit主要有下面7个设置属性:

1
2
3
4
5
6
7
8
9
10
11
12
13
::-webkit-scrollbar 滚动条整体,可以设置宽度等
 
::-webkit-scrollbar-button 滚动条两端的按钮
 
::-webkit-scrollbar-track 外层轨道
 
::-webkit-scrollbar-track-piece 内层滚动槽
 
::-webkit-scrollbar-thumb 滚动的滑块
 
::-webkit-scrollbar-corner 边角
 
::-webkit-resizer 下角拖动块的样式

以及其他详细设置属性:

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
: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团队有计划扩展它并推动成为一个标准的伪类)

 

例如:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
/* 设置滚动条的样式 */
::-webkit-scrollbar {
    width: 12px;
}
/* 滚动槽 */
::-webkit-scrollbar-track {
    -webkit-box-shadow: inset006pxrgba(0, 0, 0, 0.3);
    border-radius: 10px;
}
/* 滚动条滑块 */
::-webkit-scrollbar-thumb {
    border-radius: 10px;
    background: rgba(0, 0, 0, 0.1);
    -webkit-box-shadow: inset006pxrgba(0, 0, 0, 0.5);
}
::-webkit-scrollbar-thumb:window-inactive {
    background: rgba(255, 0, 0, 0.4);
}

IE下面就比较简单那了,自定义的项目比较少,全是颜色:

1
2
3
4
5
6
7
8
9
10
.scrollbar {
    scrollbar-arrow-color: red; /*三角箭头的颜色*/
    scrollbar-face-color: red; /*立体滚动条的颜色(包括箭头部分的背景色)*/
    scrollbar-3dlight-color: red; /*立体滚动条亮边的颜色*/
    scrollbar-highlight-color: red; /*滚动条的高亮颜色(左阴影?)*/
    scrollbar-shadow-color: red; /*立体滚动条阴影的颜色*/
    scrollbar-darkshadow-color: red; /*立体滚动条外阴影的颜色*/
    scrollbar-track-color: red; /*立体滚动条背景颜色*/
    scrollbar-base-color: red; /*滚动条的基色*/
}

取消/隐藏滚动条:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
// Firefox浏览器
scrollbar-width: none; /* Firefox */
 
// IE浏览器
-ms-overflow-style: none; /* IE 10+ */
 
// Chrome 和 Safari 浏览器
::-webkit-scrollbar {
  display: none; /* Chrome Safari */
}
 
// 当要隐藏滚动条的时候,最好将 overflow 显示设置为 auto 或者 scroll ,保证内容是可滚动的
// 如下:
.scrollbar::-webkit-scrollbar {
  display: none; /* Chrome Safari */
}
 
.scrollbar {
  scrollbar-width: none; /* firefox */
  -ms-overflow-style: none; /* IE 10+ */
  overflow-x: hidden;
  overflow-y: auto;
}

demo:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
/*修改某个div的滚动条样式*/
div::-webkit-scrollbar{
  width:5px;
  height:5px;
  /**/
}
div::-webkit-scrollbar-track{
  background: #fff;
  border-radius:2px;
}
div::-webkit-scrollbar-thumb{
  background: #444;
  border-radius:10px;
}
div::-webkit-scrollbar-thumb:hover{
  background: #999;
}
div::-webkit-scrollbar-corner{
  background: #204754;
}
 
 
// 修改浏览器默认的滚动条样式
/* 整个滚动条 */
    ::-webkit-scrollbar {
      width: 3px;
      height: 3px;
    }
  
    /* 滚动条有滑块的轨道部分 */
    ::-webkit-scrollbar-track-piece {
      background-color: transparent;
      border-radius: 5px;
    }
  
    /* 滚动条滑块(竖向:vertical 横向:horizontal) */
    ::-webkit-scrollbar-thumb {
      cursor: pointer;
      background-color:#f2f2f2;
      border-radius: 5px;
    }
  
    /* 滚动条滑块hover */
    ::-webkit-scrollbar-thumb:hover {
      background-color: #999999;
    }
  
    /* 同时有垂直和水平滚动条时交汇的部分 */
    ::-webkit-scrollbar-corner {
      display: block;    /* 修复交汇时出现的白块 */
    }

  

 

posted on   一名小学生呀  阅读(226)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

导航

统计

点击右上角即可分享
微信分享提示