CSS3选择器在FF和Opera中不起作用



我想为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时,它就可以工作了。

最新更新