天天看点

-webkit-scrollbar 滚动条样式设置

大家有没有觉得浏览器自带的原始滚动条很不美观,同时也有看到很多网站的自定义滚动条很酷炫,很高端,就连chrome32.0之后都抛弃了原始的滚动条,明显好看多了,那么浏览器如何自定义滚动条呢?

分割线为敬

首先:

谈谈兼容性:webkit支持拥有overflow属性的区域,列表框,下拉菜单,textarea等滚动条自定义样式,所以用处还是很大的,当然兼容所有浏览器滚动条的样式目前还是不存在的

实例:经典的demo

于是好奇心查了一下兼容性:废话不多说看图

-webkit-scrollbar 滚动条样式设置

这里是滚动条的一些属性

  • ::-webkit-scrollbar 滚动条整体部分
  • ::-webkit-scrollbar-thumb 滚动条里面的小方块,能向上向下移动(或往左往右移动,取决于是垂直滚动条还是水平滚动条)
  • ::-webkit-scrollbar-track 滚动条的轨道(里面装有Thumb)
  • ::-webkit-scrollbar-button 滚动条的轨道的两端按钮,允许通过点击微调小方块的位置。
  • ::-webkit-scrollbar-track-piece 内层轨道,滚动条中间部分(除去)
  • ::-webkit-scrollbar-corner 边角,即两个滚动条的交汇处
  • ::-webkit-resizer 两个滚动条的交汇处上用于通过拖动调整元素大小的小控件

直接上demo

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

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

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

好奇的小伙伴可以,打开你喜欢的编辑器测试一下,最好在chrome浏览器下测试,之后再去别的浏览器下看看效果,你就知道chrome的强大,毒瘤IE的坑爹。

详细:定义滚动条就是利用了伪元素与伪类

伪类::link、:hover、:visited、:active、:focus等等一些基于当前元素处于的状态。

伪元素::first-line、:before、:after等等一些对元素特定内容的操作。

webkit中可以吧滚动条当做一个页面元素来定义,在结合CSS3的属性,来进行修饰。

继续阅读