0

请参阅此处了解我的问题: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;
}
4

1 回答 1

2

根据您在悬停时想要蓝色和红色的理解li(无论悬停在 上a),然后只需在:hover上指定伪类li并使用后代选择器来定位a元素:

#nav li:hover a {
    background: red;
    border: 1px solid #2596c0;
    color: #fff;
}

JS 小提琴演示

于 2012-06-25T22:19:28.410 回答