我是伪元素的新手,前缀为双冒号。我遇到了一篇博客文章,讨论使用一些webkit only css来讨论滚动条的样式。伪元素CSS可以应用于单个元素吗?
/* This works by applying style to all scroll bars in window */
::-webkit-scrollbar {
width: 12px;
}
/* This does not apply the scrollbar to anything */
div ::-webkit-scrollbar {
width: 12px;
}
在这个小提琴中,我想自定义div的滚动条,但主窗口的滚动条保持默认状态。
答案 0 :(得分:83)
你的想法是正确的。但是,div ::-webkit-scrollbar
之后带有空格的符号div
实际上与div *::-webkit-scrollbar
相同;此选择器表示“<div>
内的任何元素的滚动条”。使用div::-webkit-scrollbar
。
答案 1 :(得分:27)
我想使用类选择器来使用自定义滚动条。
不知何故.foo::-webkit
不起作用,但我发现div.foo::-webkit
确实有效!那些## $$ * ##伪事......
答案 2 :(得分:7)
您还可以按元素的id应用这些规则。让我们说div的滚动条必须设置为具有id&#34; myDivId&#34;的样式。然后你可以做以下。这样,您可以为不同元素的滚动条使用不同的样式。
#myDivId::-webkit-scrollbar {
width: 12px;
}
#myDivId::-webkit-scrollbar-track {
-webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.3);
border-radius: 10px;
}
#myDivId::-webkit-scrollbar-thumb {
border-radius: 10px;
-webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.5);
}
答案 3 :(得分:1)
您可以有一个 scss 文件并将样式应用于那里的类
style.scss
.myscrollbar {
::-webkit-scrollbar {
width: 13px;
height: 13px;
}
::-webkit-scrollbar-thumb {
background: linear-gradient(13deg, #f9d4ff 14%, #c7ceff 64%);
border-radius: 10px;
}
::-webkit-scrollbar-thumb:hover {
background: linear-gradient(13deg, #c7ceff 14%, #f9d4ff 64%);
}
::-webkit-scrollbar-track {
background: #ffffff;
border-radius: 10px;
box-shadow: inset 7px 10px 12px #f0f0f0;
}
}
home.html
<div class="myscrollbar">
put your contents here
</div>
我在这里使用了滚动条生成器:https://w3generator.com/scrollbar