0

の背景にホバー効果が必要ですul li

画像:

HTML

<div id="topnav">
        <ul class="nav clearfix">
            <li id="menu-item-25" class="menu-item menu-item-type-post_type menu-item-object-page current-menu-item page_item page-item-2 current_page_item menu-item-25">
            <a href="http://localhost/">Home</a>
            </li>
            <li id="menu-item-45" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-45">
                <a href="http://localhost/">Menu2</a>
            </li>
            <li id="menu-item-98" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-98">
                <a href="http://localhost/">Menu3</a>
            </li>
            <li id="menu-item-96" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-96">
                <a href="http://localhost/">Menu4</a>
            </li>
            <li id="menu-item-97" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-97">
                <a href="http://localhost/">Menu5</a>
            </li>
        </ul>
    <div>

CSS

 #topnav {
        font-size: 8pt;
        font-weight: bold;
        margin-top: 2%;
        border: 1px solid #DDDDDD;
        float: left;
        font-size: 8pt;
        margin-bottom: 0;
        margin-left: 0;
        margin-right: 0;
        margin-top: 7% !important;
        opacity: 0.8;
        padding: 0;
        width: 60%;
    }
    #topnav ul {

        line-height: 1;
        list-style: none outside none;
        margin: 0;
        padding: 0;
         display: block;
    }
    #topnav ul li {
        float: left;
        width: auto;
        margin:10px;
    }
    #topnav ul {
        line-height: 1;
        list-style: none outside none;
    }
4

3 に答える 3

1

このようなもの: jsfiddle.net/kaGvs/5 ? :)

「a」タグにマイナスのマージンとボーダーを与えることができます。これは互いにキャンセルする必要があります。

#topnav ul li a {
    border-top: 15px solid transparent;
    border-bottom : 15px solid transparent;
    margin: -25px 0;
    display:block;
    line-height: 30px;
}

#topnav ul a:hover, #topnav ul ul a:hover {
    color: #0A0A0A;
    background-color: #CBBBA1;
    border-color: white;
}
于 2013-04-16T08:12:19.697 に答える
1

私がcss3で知っている限り、要素の親を選択することはできません(私は間違っているかもしれません)。JQuery を使用$("#topnav a:hover").parent()すると、a:hover を含む li が選択されます。

質問を理解していただければ幸いです。

Li を白で着色する JQuery の例では、この効果が見えるように Li のサイズを変更する必要があります。

$(function(){
$("#topnav a").mouseenter(function(){
        $("#topnav a:hover").parent().css("background-color","#FFFFFF");
    }).mouseleave(function(){
        $("#topnav a:hover").parent().css("background-color","#CBBBA1");
    });
});

デモ

于 2013-04-16T06:32:12.360 に答える
0

これを試して

#topnav ul li:hover{
    background:white; 
}
#topnav ul li:hover a{
    background:#d8b038; 
}

デモ

注: UI に従って位置を変更します。ホバー効果を与えました。

于 2013-04-16T06:38:00.510 に答える