我有两个 CSS 规则:
.avo-lime-table th,
.avo-lime-table td {
background-color: grey;
}
规则二
.avo-lime {
background-color: green;
}
在 FireFox、Chrome、Opera 和 Safari 中一切正常。显然,微软的浏览器(一如既往)对渲染我的页面有一些不同的想法......
<div class="avo-center-shrink">
<form method="post" action="/someformAction">
<table class="avo-lime-table">
<colgroup>
<col>
<col>
</colgroup>
<thead>
<tr><th colspan="2" class="avo-lime">Login form heading here</th></tr>
</thead>
<tfoot>
<tr><td colspan="2">submit button here</td>
</tr></tfoot>
<tbody>
<tr>
<th class="avo-lime-h unselectable" scope="row">Login:</th>
<td class="avo-light-h">login input here</td>
</tr>
</tbody>
</table>
</form>
</div>
在上面的代码中,我跳过了一些对于这个例子来说并不重要的 's 。
它应该看起来如何(Firefox):
它的外观(IE9):
为什么第一条规则比第二条更具体(针对 IE)?
如何在 IE 中解决这个问题?我尝试了不同的东西:
**.avo-lime, .avo-lime-table th.avo-lime** { background-color: darkgreen; // fallback background color
//here some gradients }
但它不起作用!
编辑:
好的,看来我必须清除浏览器缓存两次,因为由于某种原因它在第一次之后没有更新 CSS 文件。
因此,avo-lime-table th比.avo-lime更具体的所有答案都是正确的,将其更改为th.avo-lime就可以了。
我会给每个人一个 +1 并标记回答第一个正确答案。