1

我需要在悬停时更改 li 的整个背景颜色。我查看了 Google 和 Stackoverflow 上的其他示例,但我认为我的代码中可能存在冲突。

jsFiddle

HTML:

<div id="nav_bar">
       <div id="nav_bar_inside">
            <div class="nav_bar_content">
                <ul>
                    <li><a>Home</a></li>
                    <li><a>Music</a></li>
                    <li><a>Pictures</a></li>
                    <li><a>Links</a></li>
                    <li><a>Biography</a></li>
                </ul>
            </div>
        </div>
    </div>

CSS:

    .nav_bar {
        -webkit-animation:leftBar 1s; /* Safari and Chrome */
        -webkit-animation-fill-mode: forwards;
        float: left;
        background: #666;
        position:fixed;
        z-index: 15;
        box-shadow: 0px 0px 10px 1px rgba(119, 119, 119, 0.75);
        -moz-box-shadow: 0px 0px 10px 1px rgba(119, 119, 119, 0.75);
        -webkit-box-shadow: 0px 0px 10px 1px rgba(119, 119, 119, 0.75);
}    
#nav_bar #nav_bar_inside li {
    list-style-type: none;
    border-bottom: 1px solid #000;
    height: 50px;
    font-family: "Trebuchet MS", Arial, Helvetica, sans-serif;
    font-size: 22px;
    text-transform: uppercase;
    text-align: center;
    vertical-align: middle;
    padding-top: 30px;
}
#nav_bar #nav_bar)inside a {display: inline-block;}
#nav_bar #nav_bar_inside li a:hover {
    background-color: rgba(255, 0, 0, 0.4);
    display: block;
    cursor: pointer;
}
4

3 回答 3

4

这一行:

#nav_bar #nav_bar_inside li a:hover

应该:

#nav_bar #nav_bar_inside li:hover
于 2013-11-11T21:17:45.147 回答
3

这种方法具有使整个 LI 可点击的额外好处:

li {padding: 0;}
li a {display: block;}

感谢佳能的小提琴。这里整理一下:

http://jsfiddle.net/antisanity/35gNz/4

于 2013-11-11T21:17:17.437 回答
0

:悬停在整个 li - 这是你的一个 mod:

http://jsfiddle.net/hmfuL/

#nav_bar #nav_bar_inside li:hover {
background-color: rgba(255, 0, 0, 0.4);
display: block;
cursor: pointer;
}
于 2013-11-11T21:24:47.310 回答