css – 为什么我不能覆盖现有的伪元素?

前端之家收集整理的这篇文章主要介绍了css – 为什么我不能覆盖现有的伪元素?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有两个CSS规则互相跟随:
.some td:first-child:before {
    content:url('path/to/image.png')" " ;
}
.some .other:before {
    content:url('path/to/image2.png')" " ;
}
@H_301_4@这是HTML片段:@H_404_5@
<table class="some">
<tr>
    <td class="other">Text goes here</td>
    <td>Some more text.</td>
</tr>
</table>
@H_301_4@它们都应该应用于同一个表格单元格.没有班级的那个人意味着后备.但由于某种原因,它总是在第二条规则上选择第一条规则.我知道第二个工作,因为如果我在Firebug中禁用第一个,它将被使用.@H_404_5@ @H_301_4@我在这里想念的是什么?@H_404_5@

解决方法

好吧,直截了当,在 some reading之后,这就是特异性: @H_301_4@> Id:100
>班级:10
>伪类:10
>伪元素:1
>要素:1@H_404_5@ @H_301_4@这使得第一个选择器具有22的特异性,而21的第二个选择器显然是第一个子类似乎是伪类而不是伪元素.@H_404_5@ @H_301_4@最后,在.other之前添加一个td可以解决问题,因为那时文档顺序优先.@H_404_5@

猜你在找的CSS相关文章