我在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>
我有问题造型。我需要为mainTree_treechildren
中的treecell提供不同的文本颜色,并为其父ID为tree_actions_treechildren
的子树中的treecell提供不同的文本颜色。
目前我有这个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
。
答案 0 :(得分:2)
<treechildren>
元素实际上并未显示 - 它们仅仅是树窗口小部件的数据源(其他数据源也是可能的,例如RDF或XML文件)。因此,他们的内容无法直接设置样式。如果要以不同方式设置单个树单元的样式,则应使用properties
attribute。这样的事情应该有效:
<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始终是唯一的,因此在选择器中指定多个ID只会减慢速度。