jquery – 基于将鼠标悬停在另一个元素/类上来添加/删除CSS文本颜色

我正在使用
Superfish并尝试使样式有点不同.基本上,当我将鼠标悬停在带有ul的菜单上时,下拉菜单就可以了.当将鼠标悬停在该下拉列表中的元素上时,文本颜色很好,因为我的元素使用了:hover.

当我没有悬停在该元素上时,它使用顶层的颜色.

我希望它保持白色 – 请忽略背景颜色的差异,我正在尝试一些东西.

我的CSS
http://pastebin.com/Hy1Rdwxb

我是否必须使用jQuery .addClass来保持白色?

最佳答案 假设这是着色它:

.sf-menu li:hover, .sf-menu li.sfHover,
.sf-menu a:focus, .sf-menu a:hover, .sf-menu a:active {
        background:             #ae9b9d;
        outline:                0;
        color: #eee !important; 
}

您需要更改/添加.sf-menu li:hover to .sf-menu li:hover> a来获得效果.麻烦的是它不会在悬停时着色,因为标签本身有更具体的样式.上面允许直接在li下面的标签用CSS设置样式.

注意,>运算符不是直接在下面设置所有元素,只是你想要的那个,但是won’t work in IE 6(因为你的一些风格似乎表明你会支持它,which you shouldn’t除非你的观众强迫你的手),这意味着你仍然会看到这个IE 6中的变色.

点赞