审查我的CSS后,我意识到,我在我的头上有一个巨大的洞,实际的问题是,我没有在bar.css
.footer-link:hover
定义的color
规则简单的事实,所以清楚地应用了来自foo.css
a:hover
的颜色规则。 CSS 101.谢天谢地,这是星期五。我显然需要周末。谢谢你的帮助!
我在项目的一些UI上工作时看到了一些有趣的事情,我相信这与我对CSS特性缺乏了解有关。我已经做了一些研究,但仍然无法解决我自己的问题。
无论如何,我有几个定义的样式包含在两个不同的样式表中的锚点元素。为了简单起见,我会称它们为foo.css
和bar.css
。 foo.css
包括在页面bar.css
之前在foo.css
有以下规则:
a {
color: #0088cc;
text-decoration: none;
}
a:hover {
color: #0088cc;
}
在bar.css
有以下规则:
.footer-link {
border: 1px solid transparent;
-webkit-border-radius: 4px;
-moz-border-radius: 4px;
border-radius: 4px;
color: rgb(150, 150, 150);
font-size: 13px;
line-height: 18px;
margin-right: 6px;
}
.footer-link:hover {
background-color: rgba(255, 191, 254, 0.8);
text-decoration: none;
}
的HTML标记是:
<a href = "#" class = "footer-link">Cheese is really good</a>
It似乎从foo.css
应用hover
款式,尽管据我了解,.footer-link:hover
具有更高的特异性。正常的锚点风格正在按照我的预期应用。
所以我的问题是:
为什么悬停规则越来越在foo.css
即使bar.css
应用将在后面的页面,其中包括.footer-link:hover
应该比a:hover
更高的特异性?
在此先感谢!
您的jsfiddle工作我希望在Firefox的样子,粉红色的背景与悬停的蓝色文本。 CSS样式的定义顺序只有在具有相同的“分数”时才是相关的,在这种情况下,最后是胜利。在你的情况下,'.footer-link:hover'比'a:hover'具有更高的分数,所以你写它们的顺序是不相关的。从你提供的jsfiddle中获得 – Matthew
,bar.css通过foo.css工作 – Keith
按照预期在Chrome中也能正常工作。 –