如何使用CSS3设置webkit滚动条样式?
我指的是这些属性:
::-webkit-scrollbar {
width: 12px;
}
::-webkit-scrollbar-track {
-webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.3);
border-radius: 10px;
}
::-webkit-scrollbar-thumb {
border-radius: 10px;
-webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.5);
}
这是我的div标签:
<div class="scroll"></div>
这是我当前的CSS:
.scroll {
width: 200px; height: 400px;
overflow: hidden;
}
设置overflow: hidden
将隐藏滚动条。设置overflow: scroll
以确保滚动条始终显示。
要使用::webkit-scrollbar
属性,只需在调用.scroll
之前将其作为目标即可。
.scroll {
width: 200px;
height: 400px;
background: red;
overflow: scroll;
}
.scroll::-webkit-scrollbar {
width: 12px;
}
.scroll::-webkit-scrollbar-track {
-webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.3);
border-radius: 10px;
}
.scroll::-webkit-scrollbar-thumb {
border-radius: 10px;
-webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.5);
}
请参阅此示例
您正在设置overflow: hidden
。这将隐藏任何对于<div>
来说太大的内容,这意味着滚动条将不会显示。给<div>
一个明确的宽度和/或高度,并将overflow
更改为auto
:
.scroll {
width: 200px;
height: 400px;
overflow: scroll;
}
如果只想在内容长于<div>
时显示滚动条,请将overflow
更改为overflow: auto
。使用overflow-y
或overflow-x
也只能显示一个滚动条。
css3滚动条的问题是,只能对内容执行交互。我们无法与触摸设备上的滚动条进行交互。
.scroll {
width: 200px; height: 400px;
overflow: auto;
}