1

ホバー時のliの背景色全体を変更する必要があります。Google と Stackoverflow で他の例を見てきましたが、コードに矛盾がある可能性があると思います。

jsフィドル

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

3

このアプローチには、LI 全体をクリック可能にするという追加の利点があります。

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

フィドルのキヤノンに感謝します。ここに整理されています:

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

于 2013-11-11T21:17:17.437 に答える