经常使用Chrome浏览器浏览Gmail的朋友应该会发现,Gmail在显示比较长的内容时的时(比如常常的邮件列表或者联系人列表),右侧会出现一个灰色调的滚动条,风格与系统自带的完全不同。
Gmail滚动条和普通滚动条的对比
从左至右分别为普通状态、鼠标移动至滚动块上和拖动滚动块时Gmail滚动条和普通滚动条的对比
这个滚动条并不是用JavaScript写成的,没有用到任何插件,只需要几句简单的CSS3即可。主要用到了-webkit-scrollbar、-webkit-scrollbar-button、-webkit-scrollbar-track、-webkit-scrollbar-thumb这几个伪类。
以下是我从Gmail的源代码中提取并稍作修改的控制滚动条的CSS代码:
::-webkit-scrollbar {
height:11px;
width:11px
}
::-webkit-scrollbar-button {
height:0;
width:0
}
::-webkit-scrollbar-button:start:decrement,::-webkit-scrollbar-button:end:increment {
display:block
}
::-webkit-scrollbar-button:vertical:start:increment,::-webkit-scrollbar-button:vertical:end:decrement {
display:none
}
::-webkit-scrollbar-track:vertical,::-webkit-scrollbar-track:horizontal,::-webkit-scrollbar-thumb:vertical,::-webkit-scrollbar-thumb:horizontal,::-webkit-scrollbar-track:vertical,::-webkit-scrollbar-track:horizontal,::-webkit-scrollbar-thumb:vertical,::-webkit-scrollbar-thumb:horizontal {
border-style:solid;
border-color:transparent
}
::-webkit-scrollbar-track:vertical::-webkit-scrollbar-track:horizontal{
background-clip:padding-box;
background-color:#fff;
}
::-webkit-scrollbar-thumb {
-webkit-box-shadow:inset 1px 1px 0 rgba(0,0,0,.1),inset 0 -1px 0 rgba(0,0,0,.07);
background-clip:padding-box;
background-color:rgba(0,0,0,.2);
min-height:28px;
padding-top:100
}
::-webkit-scrollbar-thumb:hover {
-webkit-box-shadow:inset 1px 1px 1px rgba(0,0,0,.25);
background-color:rgba(0,0,0,.4)
}
::-webkit-scrollbar-thumb:active {
-webkit-box-shadow:inset 1px 1px 3px rgba(0,0,0,.35);
background-color:rgba(0,0,0,.5)
}
::-webkit-scrollbar-track:vertical,::-webkit-scrollbar-track:horizontal,::-webkit-scrollbar-thumb:vertical,::-webkit-scrollbar-thumb:horizontal {
border-width:0;
}
::-webkit-scrollbar-track:hover {
-webkit-box-shadow:inset 1px 0 0 rgba(0,0,0,.1);
background-color:rgba(0,0,0,.05)
}
::-webkit-scrollbar-track:active {
-webkit-box-shadow:inset 1px 0 0 rgba(0,0,0,.14),inset -1px -1px 0 rgba(0,0,0,.07);
background-color:rgba(0,0,0,.05)
}
如果希望自己的网站也拥有Gmail风格的滚动条,只需要把上面的代码添加进CSS文件就可以了。
有话要说