0

純粋なCSSを使用したメニューがあり、親liアイテムにカーソルを合わせると、ネストされたリストが表示されます。簡単な例:

  <ul id="menu-top" >
    <li class="menu-item">
      <a href="http://localhost/wp5/forums/">Forums</a>
      <ul class="sub-menu">
        <li><a href="http://localhost/wp5/register/">Register</a></li>
        <li><a href="http://localhost/wp5/activate/">Activate</a></li>
        <li><a href="http://localhost/wp5/members/">Members</a></li>
      </ul>
    </li>
  </ul>

css:

.navigation ul.menu li:hover { background: #ccc} //hover the parent item changes it bg color

.navigation ul.sub-menu li {
 display:none;
}

.navigation ul li:hover > ul.sub-menu li { display: block; }

正常に動作しますが、「永続的な」効果を追加しようとしています。サブアイテムにもカーソルを合わせるときに、親スタイルを設定したままにしておきます。

私はこれを試しましたが、動作しません:

.navigation ul.sub-menu li:hover > .navigation ul.menu li { background: #ccc}

これがjavscriptなしで可能かどうかはわかりませんが、CSSでの「>」の使用についても何も見つかりません。

助けてくれてありがとう

4

2 に答える 2

3

:hoverホバーされている要素のすべての祖先でトリガーされるため、.navigation ul.menu li:hover { background: #ccc; }問題なく動作するはずです。

あるいは、いつかは使えるようになるはず:has()です。

于 2012-07-26T18:58:24.473 に答える
0
.menu-item:hover {
     background-color:#ccc;
}
.sub-menu li:hover {
     background-color:#666;
}
于 2012-07-26T19:01:15.313 に答える