2010-11-02 46 views
0

我正在制作Google Chrome浏览器扩展程序,以更改(Webkit)滚动条的外观。我希望他们能够与页面的其余部分“融合”。我想要做的是读取页面的背景颜色并将其分配给:: - webkit-scrollbar-track-piece的背景颜色。这可能吗?是否有可能在CSS中读取HTML?

另外,是否有可能知道我正在改变的滚动条是否是主要的滚动条之一(而不是页内滚动条)。

P.S:当谈到Web开发时,我确实是一名初学者。

+0

CSS不能,但它不应该是难的Chrome扩展这样做使用一些JavaScript。 – ceejayoz 2010-11-02 21:17:18

+0

@ceejayoz,我如何将JavaScript结果发送回CSS?这可能是我的答案。 – 2010-11-02 23:40:15

+0

您将使用JavaScript将一些CSS注入到DOM中。这是一个扩展程序,它应该能够下载和检查:https://chrome.google.com/extensions/detail/hiadkoalmmkgennhcldmdlndfgagkcim – ceejayoz 2010-11-03 16:29:48

回答

0

不,你不能在纯CSS中做到这一点,你至少需要Javascript来完成这个任务,但在Chrome中这可能是不可能的,并且有很好的理由。

我最后一次记住这是可能的是在IE6。一般来说,更改平台上所有应用程序通用的用户界面元素是一个冒险的想法,因为用户必须重新学习如何使用您的应用程序。

想想互联网上设计最好的网站。你可能不会花太多时间希望他们的滚动条更好地混合。这只是没有必要的,而下行(混淆用户)远远超过了上升(可能使滚动条稍微漂亮)。

+1

Chrome支持滚动条样式:http://trac.webkit.org/export/41842/trunk/LayoutTests/scrollbars/overflow-scrollbar-combinations.html – serg 2010-11-02 21:51:31

+0

我明白你的观点,但是,由于它是我正在做的扩展,由用户决定是否需要它。有一个“没有滚动条”的扩展,我用了一下,直到我想知道页面有多长。这是我的替代品,是一种妥协。 – 2010-11-02 23:44:21

1

使用内容脚本,您可以读取CSS数据,然后将适当的样式注入页面。

作为一个例子,下面将样式只是“身体”滚动条:

body::-webkit-scrollbar {background-color:#000} 
+0

身体滚动条是“主要”滚动条吗? – 2010-11-03 19:13:18

+0

是的,“身体”是主要容器,但在更复杂的网站中,滚动条可能来自其他元素。但应该在大多数情况下工作。 – Omiod 2010-11-04 18:57:29