1

我在 xul 中有这段代码:

<treechildren id = "mainTree_treechildren">
    <treeitem container="true" open="true">
        <treerow>
           <treecell label="&tree.actions;" />
        </treerow>
        <treechildren id="tree_actions_treechildren" >
            <treeitem container="true" open="true">
                <treerow>
                     <treecell label="&tree.actions.warnings;" />
                </treerow>
            </treeitem>
        </treechildren>
     </treeitem>
</treechildren>

我有问题造型它。我需要为 treecell in 使用mainTree_treechildren不同的文本颜色,在他的子 treechildren 中为 treecell 使用不同的文本颜色 id tree_actions_treechildren

目前我有这个CSS代码

#mainTree #mainTree_treechildren::-moz-tree-cell-text { color: #000000; }
#mainTree #tree_actions_treechildren::-moz-tree-cell-text { color: #FFFFFF; }

但它不起作用。我只为里面的每个元素获得黑色, mainTree_treechildren包括tree_actions_treechildren.

4

1 回答 1

2

这些<treechildren>元素实际上并没有被显示——它们只是树小部件的数据源(其他数据源也是可能的,例如 RDF 或 XML 文件)。因此,它们的内容不能直接设置样式。如果您想以不同的方式设置单个树单元格的样式,您应该使用properties属性。像这样的东西应该工作:

<treechildren id="mainTree_treechildren">
    <treeitem container="true" open="true">
        <treerow>
           <treecell label="&tree.actions;" />
        </treerow>
        <treeitem container="true" open="true">
            <treerow>
                <treecell label="&tree.actions.warnings;" properties="warning" />
            </treerow>
        </treeitem>
     </treeitem>
</treechildren>

以及对应的样式:

#mainTree_treechildren::-moz-tree-cell-text { color: #000000; }
#mainTree_treechildren::-moz-tree-cell-text(warning) { color: #FF0000; }

请注意,#foo #bar不建议使用 CSS 选择器 - ID 始终是唯一的,因此在选择器中指定多个只会减慢速度。

于 2012-07-03T12:22:39.870 回答