请参阅此处了解我的问题:http://jsfiddle.net/FvBqA/126/
我的问题是,我希望能够将鼠标悬停在锚点和 li 上,如果这有意义的话,可以实现一个悬停状态。
目前,如果您将鼠标悬停在蓝色部分上,则蓝色仅可见(这是 li),如果您将鼠标悬停在锚点上,则会出现 li 和锚点悬停 - 请注意,这是正确的,但是,我只希望在用户将鼠标悬停在锚点上时出现这种悬停状态。
如果用户将鼠标悬停在列表项上,则不应显示任何内容。
.HTML
<ul id="nav">
<li>
<a href="#">Home</a>
</li>
<li>
<a href="#">Services</a>
</li>
<li>
<a href="#">Contact</a>
</li>
</ul>
.CSS
#nav li {
float: left;
padding: 0 0 0 13px;
}
#nav li a {
display: block;
height: 51px;
text-align: center;
color: #494949;
font-size: 13px;
padding: 35px 15px 0;
border: 1px solid transparent;
text-decoration: none;
}
#nav li:hover {
background: blue;
}
#nav li:hover a {
background: red;
border: 1px solid #2596c0;
color: #fff;
}
在将
鼠标悬停在li
上时需要蓝色和红色(无论是否也悬停在a
上),则只需在li
上指定:hover
伪类,并使用后代选择器来定位a
元素:
#nav li:hover a {
background: red;
border: 1px solid #2596c0;
color: #fff;
}
JS小提琴演示。