我想为Rich faces生成的一个span元素设置样式:
<td class="rf-tb-itm" id="j_idt7:logoutLink_itm">
<span class="topmenulink" id="j_idt7:logoutLink">Logout</span>
</td>
我无法匹配整个id,因为分号之前的部分可能不同。为了测试,我写了
span[id="j_idt7:logoutLink"] {
padding:2pt 10pt !important;
border:1px solid transparent;
color:grey;
}
并且匹配
这也匹配:
td > span {
padding:2pt 10pt !important;
border:1px solid transparent;
color:grey;
}
但为什么与此不匹配(在最新的Firefox和Opera中)
span[id*="logoutLink"] {
padding:2pt 10pt !important;
border:1px solid transparent;
color:grey;
}
还是这个?
span[id$="logoutLink"] {
padding:2pt 10pt !important;
border:1px solid transparent;
color:grey;
}
有什么想法吗?
我知道发生了什么。这是一个RichFaces问题。CSS EL Parser无法识别CSS3。查看JBoss输出:
08:54:18,235 WARNING [org.richfaces.log.Resource] (http--0.0.0.0-8080-6) Problem parsing 'css/default.ecss' resource: Error in attribute selector. Invalid token "*". Was expecting one of: <S>, "=", "]", "~=", "|=".
08:54:18,236 WARNING [org.richfaces.log.Resource] (http--0.0.0.0-8080-6) Problem parsing 'css/default.ecss' resource: Ignoring the whole rule.
当我使用"真正的"CSS文件而不是这个EL CSS时,它就可以工作了。