如何让滚动条的框阴影在悬停时发生变化?
How do I get the box-shadows of my scrollbar to change on hover?
我创建了一个带有 6 个嵌入框阴影的滚动条,并希望当我将鼠标悬停在滚动条上时它们会改变颜色。目前,当我将鼠标悬停在上面时,没有任何变化。这是我目前在 CSS 中用于滚动条的代码:
::-webkit-scrollbar {
width: 20px;
}
::-webkit-scrollbar-track {
background-color: mediumpurple;
}
::-webkit-scrollbar-thumb {
border-radius: 10px;
box-shadow: 0px 100px 15px indigo inset, 0px -10px 10px indigo inset, 0px 250px 20px darkmagenta inset, 0px -20px 10px darkmagenta inset, 0px 400px 30px mediumorchid inset, 3px 650px 10px violet inset;
}
::-webkit-scrollbar-thumb:hover {
box-shadow: 0px 100px 15px transparent inset, 0px -10px 10px transparent inset, 0px 250px 20px transparent inset, 0px -20px 10px transparent inset, 0px 400px 30px transparent inset, 3px 650px 10px transparent inset, 0px 100px 15px violet inset, 0px - 10px 10px violet inset, 0px 250px 20px plum inset, 0px -20px 10px plum inset, 0px 400px 30px thistle inset, 3px 650px 10px lavender inset;
}
好吧,这里的一切看起来都很好,但你只是错过了一点。 0px - 10px 10px violet inset
这一行会让你的整个 box-shadow
属性 无效,因为它在第二个元素中有一个混乱,所以你只需要像这样修复它:
0px -10px 10px violet inset
这是完整的工作代码:
body {
height: 150vh;
}
::-webkit-scrollbar {
width: 20px;
}
::-webkit-scrollbar-track {
background-color: mediumpurple;
}
::-webkit-scrollbar-thumb {
border-radius: 10px;
box-shadow: 0px 100px 15px indigo inset, 0px -10px 10px indigo inset, 0px 250px 20px darkmagenta inset, 0px -20px 10px darkmagenta inset, 0px 400px 30px mediumorchid inset, 3px 650px 10px violet inset;
}
::-webkit-scrollbar-thumb:hover {
box-shadow: 0px 100px 15px transparent inset, 0px -10px 10px transparent inset, 0px 250px 20px transparent inset, 0px -20px 10px transparent inset, 0px 400px 30px transparent inset, 3px 650px 10px transparent inset, 0px 100px 15px violet inset, 0px -10px 10px violet inset, 0px 250px 20px plum inset, 0px -20px 10px plum inset, 0px 400px 30px thistle inset, 3px 650px 10px lavender inset;
}
我创建了一个带有 6 个嵌入框阴影的滚动条,并希望当我将鼠标悬停在滚动条上时它们会改变颜色。目前,当我将鼠标悬停在上面时,没有任何变化。这是我目前在 CSS 中用于滚动条的代码:
::-webkit-scrollbar {
width: 20px;
}
::-webkit-scrollbar-track {
background-color: mediumpurple;
}
::-webkit-scrollbar-thumb {
border-radius: 10px;
box-shadow: 0px 100px 15px indigo inset, 0px -10px 10px indigo inset, 0px 250px 20px darkmagenta inset, 0px -20px 10px darkmagenta inset, 0px 400px 30px mediumorchid inset, 3px 650px 10px violet inset;
}
::-webkit-scrollbar-thumb:hover {
box-shadow: 0px 100px 15px transparent inset, 0px -10px 10px transparent inset, 0px 250px 20px transparent inset, 0px -20px 10px transparent inset, 0px 400px 30px transparent inset, 3px 650px 10px transparent inset, 0px 100px 15px violet inset, 0px - 10px 10px violet inset, 0px 250px 20px plum inset, 0px -20px 10px plum inset, 0px 400px 30px thistle inset, 3px 650px 10px lavender inset;
}
好吧,这里的一切看起来都很好,但你只是错过了一点。 0px - 10px 10px violet inset
这一行会让你的整个 box-shadow
属性 无效,因为它在第二个元素中有一个混乱,所以你只需要像这样修复它:
0px -10px 10px violet inset
这是完整的工作代码:
body {
height: 150vh;
}
::-webkit-scrollbar {
width: 20px;
}
::-webkit-scrollbar-track {
background-color: mediumpurple;
}
::-webkit-scrollbar-thumb {
border-radius: 10px;
box-shadow: 0px 100px 15px indigo inset, 0px -10px 10px indigo inset, 0px 250px 20px darkmagenta inset, 0px -20px 10px darkmagenta inset, 0px 400px 30px mediumorchid inset, 3px 650px 10px violet inset;
}
::-webkit-scrollbar-thumb:hover {
box-shadow: 0px 100px 15px transparent inset, 0px -10px 10px transparent inset, 0px 250px 20px transparent inset, 0px -20px 10px transparent inset, 0px 400px 30px transparent inset, 3px 650px 10px transparent inset, 0px 100px 15px violet inset, 0px -10px 10px violet inset, 0px 250px 20px plum inset, 0px -20px 10px plum inset, 0px 400px 30px thistle inset, 3px 650px 10px lavender inset;
}