我使用JSF和PrimeFaces,我尝试通过更改或添加一些CSS行来修改渲染。
我将名为“styles.css”的CSS文件添加到我的.xhtml页面,并在PrimeFaces之后加载,因此我可以覆盖默认值。
PrimeFaces在我的页面中创建一个div:
<div id="j_idt13:universe" class="ui-selectonemenu ui-widget ui-state-default ui-corner-all ui-helper-clearfix" style="width: 86px;">
....
</div>
我正在尝试将86px大小更改为100%,所以在我的styles.css中我添加了:
#j_idt13:universe{
width: 100%;
}
但它不起作用...当我检查源代码时使用Firebug,我的#j_idt13:universe不会出现在任何地方......
我可以通过访问类选择器(.class)而不是使用id选择器(#id)来更改一些CSS。
就我而言,我怎样才能将86px更改为100%?
由于
奥利弗
答案 0 :(得分:3)
冒号:
是CSS selectors中的一个特殊字符,表示伪选择器的开头。如果要将冒号字面表示为元素ID或类名的一部分,则必须使用\
对其进行转义。
#j_idt13\:universe {
}
请注意,这在IE6 / 7中不起作用。您需要使用\3A
代替(使用尾随空格)。
#j_idt13\3A universe {
}
另请注意,当您向视图添加另一个JSF组件时,这将失败,因为j_idt13
是一个自动生成的ID,具体取决于组件在视图中的位置,而不是固定ID。而是给父UINamingContainer
组件一个固定的ID,或者更好,给目标组件一个样式类,这样你就可以使用类选择器了。