CSS3选择器不在FF和Opera中工作?

时间:2012-02-08 15:05:42

标签: css css3 richfaces

我想设置由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;
}

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

我知道发生了什么事。这是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时它可以工作。