css - 悬停时改变 li 的颜色

标签 css menu hover

我想在悬停时更改 li 元素的颜色,

<ul id="sitemap">
        <li><a href="#">a</a>
            <ul>
                <li><a href="#">b</a></li>
                <li><a href="#">c</a></li>
                <li><a href="#">d</a></li>
                <li><a href="#">e</a></li>
                <li><a href="#">f</a></li>
            </ul>                   
        </li>
</ul>

这是CSS代码:

 #sitemap li:hover{
    background:#eee;
} 

当我将鼠标悬停在 a 的任何子 li 上时,即 b,c.. f 它也会更改父 (a) 的背景颜色。如何在悬停时仅更改当前 li 元素的 bg-color,第 3 级也可以有 li,所以一般的解决方案是什么..

最佳答案

只需将 ul 添加到您的选择器中,就可以了

#sitemap ul li a:hover {
  background:#eee;
}

它之前不工作的原因是因为它针对的是顶级 li,所以它下面的所有内容都是 li 的一部分。因此,当子菜单悬停时,所有 block 都会突出显示

Fiddle

关于css - 悬停时改变 li 的颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17904503/

相关文章:

:hover后触发的CSS3自定义动画

悬停图像灰度 + <p> 仅在悬停时可见

html - Magento - 如何使用 typekit 更改整个网站的字体?

html - 在 BeautifulSoup 中提取至少一个类的 div

html - CSS 级联菜单 : Position <div> relative to <li>

javascript - 当用户从顶部滚动超过一定距离时执行 Javascript

javascript - 自动悬停效果

javascript - 在 Whack-a-mole 中第二次单击 "Game Over"后 "Start game"没有消失

html - 需要日历字形图标紧挨着输入的布局

android - 菜单项动画,无限旋转其自定义图标