我遇到以下代码的问题:
#access a, #access a:visited {
line-height: 2em; //<- Chrome uses these
padding: 0 1em;
}
#access ul ul a {
line-height: 1em; //<- Firefox uses these
padding: .5em .5em .5em 1em;
}
HTML代码:
<nav role="navigation" id="access">
[...]
<div [...]>
<ul [...]>
<li [...]> [...] </li>
<li [...]> [...]
<ul class="sub-menu">
<li [...]> [...] </li>
</ul>
</li>
</ul>
</div>
</nav>
哪个选择器具有更高的优先级?
#access a, #access a:visited
或
#access ul ul a <- Is supposed to have the higher priority
两个浏览器中的一个(Firefox或Chrome)似乎解释错误
一个简单的解决方法是给第二个选择器一个类名
-> #access ul ul.sub-menu a <- works for both
如果这可以被视为错误,那么我会将其报告给Mozilla / Google
编辑:两张Fiddle图片(Chrome中1张,Firefox中1张): 铬:
火狐:
答案 0 :(得分:2)
您修改的选择器(“#access ul ul.sub-menu a”)具有特异性(0,1,1,3)。
Firefox忽略了:visited规则中的行高样式的原因在http://dbaron.org/mozilla/visited-privacy中进行了解释,特别是在“它限制了可用于设置访问过的链接样式的CSS属性”段落中。< / p>