使用 ::-webkit-scrollbar CSS3 将边框半径应用于滚动条

10

目前不需要跨浏览器,只需支持Webkit。我熟悉::-webkit-scrollbar的样式设置能力,但如何使用它或JavaScript使滚动条遵循元素的边框半径?

我有一个带有边框半径的div:

#tagBox {
    border-radius: 20px;
}
#tagBox::-webkit-scrollbar-??? {
    ???: ???
}

我该如何让滚动条遵循其元素的边框半径?即使需要使用JavaScript。(我已经尝试过LionBars插件和jScrollPane,结果非常糟糕)

谢谢!

2个回答

18
希望这个示例对你有帮助:http://trac.webkit.org/export/41842/trunk/LayoutTests/scrollbars/overflow-scrollbar-combinations.html 我认为你错过了这些东西:
::-webkit-scrollbar {
    width: 13px;
    height: 13px;
}
::-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);
}

为了更好地理解,您可以参考此fiddle:http://jsfiddle.net/Sfy9p/3/


-1
如果你想用JavaScript实现它:
var ss = document.styleSheets[0];
ss.insertRule('::-webkit-scrollbar {width: 13px;height: 13px;}', 0);
ss.insertRule('::-webkit-scrollbar-track {-webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.3);border-radius: 10px;}', 1);
ss.insertRule('::-webkit-scrollbar-thumb {border-radius: 10px;-webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.5);}', 2);

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接