编辑:
在查看了我的 css 之后,我意识到我的头上有一个大洞,而实际问题是一个简单的事实,即我没有在 中定义color
规则,所以很明显正在应用bar.css
.footer-link:hover
颜色规则。foo.css
a:hover
CSS 101。谢天谢地,今天是星期五。我显然需要周末。谢谢你的帮助!
在为一个项目开发一些 UI 时,我看到了一些有趣的东西,我确信这与我对 CSS 特异性缺乏了解有关。我已经做了一些研究,但似乎仍然无法解决我自己的问题。
无论如何,我为包含在两个不同样式表中的锚元素定义了几种样式。为简单起见,我将它们称为foo.css
and 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>
似乎hover
样式正在被应用,foo.css
尽管据我所知,.footer-link:hover
具有更高的特异性。正如我所料,正在应用正常的锚样式。
所以我的问题是:
为什么悬停规则会被应用,foo.css
即使bar.css
页面后面包含并且.footer-link:hover
应该比 具有更高的特异性a:hover
?
提前致谢!