2

だから私はこれを生成するCSSを持っています。

CSSメニュー

次のようなHTMLコード。

<div class="menu">
                <ul>
                <li><a href='index.html'>Home</a></li>
                <div class="menutab"></div>
                <li><a href='about_us.html'>About Us</a></li>
                <div class="menutab"></div>
                <li><a href='#'>Order Online</a></li>
                <div class="menutab"></div>
                <li><a href='gallery.html'>Gallery</a></li>
                <div class="menutab"></div>
                <li><a href='#'>Contact Us</a></li>
                <div class="menutab"></div>
                </ul>
            </div>

そしてCSS

.menu {
    width: 100%;
    height: 220px;
    float: left;
    margin-left: -20px;
    position: relative;
    text-align: center;
}

.menu li{
    display: block;
    list-style: none;
    width: 100%;
    background: #EBE5D9;
    height: 50px;
    margin-left: -40px;
    margin-top: 5px;
    line-height: 50px;
}

.menu li:hover {
    background: #AEC32A;
}


.menu li a{
    text-decoration: none;
    font-size: 20px;
    color: #000000;
    font-family: fantasy;
}



.menutab {
    width: 30px;
    position: relative;
    margin-top: -3px;
    margin-left: -71px;
    border-right: 21px solid #EBE5D9;
    border-bottom: 21px solid transparent;
}

基本的に私が望んでいるのは、ホバー効果で全体を緑色に変えることです。現在、.menu li:hoverはブロックを#AEC32Aの色に変えますが、.menutabの境界線を同じ色に変えたいのですが、とにかくこれを行いますか?できればJavascriptを使用せずに。

よろしくお願いします:-)

4

2 に答える 2

5

隣接するセレクターを試してください。

.menu li:hover+.menutab {
    border-right-color: #AEC32A;
}

JS ビンのデモ

于 2013-02-18T15:57:10.920 に答える
4

これは、隣接する兄弟コンビネータでは問題ありません。

これをcssに追加するだけです。

.menu li:hover + .menutab{
    border-right-color: #AEC32A;
}

.menutabこれにより、最初の要素()の直前の要素()が選択され.menu li:hoverます。

ライブデモを見る

古いIEを気にしない場合、ブラウザのサポートは100%です<(=)8;)

于 2013-02-18T15:58:11.500 に答える