自定义浏览器滚动条样式
自定义浏览器滚动条样式
Webkit
内核的浏览器,可以通过-webkit-scrollbar
等属性进行重置
/*设置尺寸*/
::-webkit-scrollbar {
width: 10px;
height: 10px;
}
/* 滚动条两端的按钮 */
::-webkit-scrollbar-button {
background-color:red;
width: 100px;
height: 10px;
}
/* 滚动条的滑块部分 */
::-webkit-scrollbar-thumb {
background: #2d3748;
border: 0px none #ffffff;
border-radius: 50px;
}
/* 滚动条滑块的hover样式*/
::-webkit-scrollbar-thumb:hover {
background: #2b6cb0;
}
/* 滚动条滑块的激活样式*/
::-webkit-scrollbar-thumb:active {
background: #000000;
}
/* 滚动条的外层轨道*/
::-webkit-scrollbar-track {
background: #1a202c;
border: 0px none #ffffff;
border-radius: 50px;
}
::-webkit-scrollbar-track:hover {
background: #666666;
}
::-webkit-scrollbar-track:active {
background: #333333;
}
/* 滚动条的外层轨道-可见部分*/
::-webkit-scrollbar-track-piece{
background: #a09f9f;
}
/* 滚动条边角*/
::-webkit-scrollbar-corner {
background: transparent;
}
/* 滚动条右下角拖动块*/
::-webkit-resizer{
background-color: transparent;
}
火狐浏览器
火狐浏览器基于Gecko内核,可以通过下面属性设置
html {
/* 修改滚动条的颜色, 可以同时应用两种颜色, 前者定义滑块的, 后者定义轨道的 */
scrollbar-color: rebeccapurple green;
/* 修改滚动条宽度, 可用值为
auto 系统默认的滚动条宽度
thin 系统提供的瘦滚动条宽度,或者比默认滚动条宽度更窄的宽度
none 不显示滚动条,但是该元素依然可以滚动
*/
scrollbar-width: thin;
}
谷歌浏览器在121版本更新了规则, 如果使用了原生 scrollbar-color 或 scrollbar-width属性, 会覆盖定义的
webkit-scrollbar
样式, 要避免这一结果, 可以使用 @support 规则排除掉支持webkit
的浏览器, 如下所示
@supports not selector(::-webkit-scrollbar) {
* {
scrollbar-color: blue transparent;
scrollbar-width: thin;
}
}