我正在开发一个有这些要求的项目:
我能够达到第一个要求,但是当悬停在特定链接上时,活动/悬停状态根本不会改变。这显然是一个具体的问题,但我似乎无法弄清楚原因。
以下是代码的简化版本:http://codepen.io/dbough/pen/maxrv
a:link, a:visited {
color:green;
}
a:hover, a:active, header .color a:hover, header .color a:active {
color:pink;
}
.color a:link, .color a:visited{
color:red;
}
$("header").hover(function() {
$("header").addClass("color");
},
function() {
$("header").removeClass("color");
}
)
答案 0 :(得分:4)
用最简单的术语来说。
当a悬停时设置不同的颜色
a:link { 颜色:绿色; }
ul:hover a { 颜色:粉红色; }
ul a:hover { 红色; }
<强> Codepen Example 强>
这是否符合标准(?)......并且不需要JS
答案 1 :(得分:0)
这与特异性无关,你的选择器不匹配。
header .color a:active {
您正在使用JavaScript将类添加到<header>
元素,但您正在编写一个选择器,其中包含该类的元素是<header>
的后代。
从选择器中删除该后代组合子:
header.color a:active {
答案 2 :(得分:-2)
删除你的样式和jquery悬停函数并尝试使用它(仅限css):
html,body {
margin:0;
padding:0;
}
header {
width:50%;
padding:auto;
margin:auto;
}
li {
display:inline;
padding:50px;
}
a, a:link, a:visited{
color:green;
}
a:hover, a:active{
color:pink !important;
}
header:hover a{color:red;}