XUL在richlistbox中加载滚动条时生成。我想要设置这个滚动条的样式,我已经尝试了所有内容,但没有任何帮助。
任何人都可以帮助我吗?
答案 0 :(得分:1)
为了使CSS样式更改为XUL元素的某些部分,您需要在主要元素中包含CSS时将CSS分配给基础元素。为了确定哪些元素在哪个元素内(即哪些元素构成<滚动条>)。您最终可能会使用 DOM Inspector 的组合,检查定义它们的.xml文件以及用于设置样式的CSS。定义XUL元素的文件是.xml绑定文件。这些以及其样式的.css文件通常包含在Firefox安装目录树中的 omni.ja 文件中。 omni.ja文件只是使用不同扩展名重命名的常规.zip文件。您可以复制此类文件并将其重命名为 omni.zip 以方便访问。
特别是对于滚动条,这些似乎是 scrollbar.xml 和 scrollbars.css ,它们位于主 omni.ja 中。您可能还想查看 browser / omni.ja 中的 floating-scrollbars-light.css 或 floating-scrollbars.css 文件文件。
但是,您需要<richlistbox>
内的滚动条。要了解如何设置这些滚动条的样式,您需要找到构成<richlistbox>;
的内容。该文件在主 omni.ja 中为richlistbox.xml
(在 richlistbox.css 中设置样式)。在该文件中,似乎滚动条由<scrollbox>
元素实现,该元素在 scrollbox.xml (在 scrollbox.css 中设置样式)中定义,也在主 omni.ja 。要设置样式的元素可以包含在其他元素的多个层中。您需要继续挖掘和试验,以便为要设置样式的元素找到合适的CSS选择器。
您可能已在自己的XUL窗口中使用<richlistbox>
,但您可能只是在浏览器中添加一个(您没有说)。对于实验,除了开发设置之外,我还建议一个单独的XUL窗口,它指定一个单独的.css文件,您可以通过单击按钮轻松打开该文件。这可能只是选项对话框。使用单独的XUL窗口进行试验可以让您拥有一个仅由该窗口调用的单独CSS文件。在这种情况下,每次打开窗口时都会重新读取该窗口的.xul文件(以及仅从该.xul调用的.js和.css文件)。这样做只需关闭并重新打开窗口就可以进行测试更改,而不必重新启动Firefox。如果它是一个完全独立的窗口,而不是选项对话框,则可以打开窗口的多个副本,并在更改之间进行并排比较。
例如,以下CSS为&lt; menulist&gt;中的实际文本区域的背景着色。和&lt; textbox&gt;鼠标悬停在它们上方的元素:
menulist hbox :hover {
background-color: Azure !important;
}
textbox>hbox :hover {
background-color: Azure !important;
}