html - 将鼠标悬停在 X 或 Y 上以仅更改 Y 的颜色

标签 html css hover

我正在制作一个导航栏,其中包含图标后跟页面标题(例如,主页图标后跟文本“主页”)。假设我想使用 :hover 选择器将鼠标悬停在文本或图标本身上时,仅将 (!) 图标的颜色从黑色(默认)更改为蓝色。我怎样才能做到这一点? (我不想使用 jQuery,只使用 CSS) 标记现在是这样的:

<ul id="navbar">
<li class="navgroup">
    <ul>
        <li class="navicon"><i class="icon-home"></i></li>
        <li class="navname">Home</li>
    </ul>
</li>
<li class="navgroup">
    <ul>
        <li class="navicon"><i class="icon-info"></i></li>
        <li class="navname">Information</li>
    </ul>
</li>
<li class="navgroup">
    <ul>
        <li class="navicon"><i class="icon-contact"></i></li>
        <li class="navname">Contact</li>
    </ul>
</li>
</ul>

当然一切都是{display:inline}

最佳答案

将悬停设置为导航组内的 ul。下面的 CSS 就是这样做的,您可以向其中添加您喜欢的任何样式。

http://jsfiddle.net/PQShS/9/

CSS:

.navgroup ul:hover .navicon{
    color:#FFF;
}

你的代码

<ul id="navbar">
<li class="navgroup">
    <ul>
        <li class="navicon"><i class="icon-home"></i></li>
        <li class="navname">Home</li>
    </ul>
</li>
<li class="navgroup">
    <ul>
        <li class="navicon"><i class="icon-info"></i></li>
        <li class="navname">Information</li>
    </ul>
</li>
<li class="navgroup">
    <ul>
        <li class="navicon"><i class="icon-contact"></i></li>
        <li class="navname">Contact</li>
    </ul>
</li>
</ul>

关于html - 将鼠标悬停在 X 或 Y 上以仅更改 Y 的颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17993800/

相关文章:

javascript - 为什么在设置单个阿拉伯字符的样式时阿拉伯字符表现为单独的字符?

javascript - Highcharts 模替代网格颜色

css - 在不垂直移动的情况下从底部原点翻转卡片

javascript - HTML 按钮元素可以从父元素继承它的值吗?

css - 如何使悬停效果不适用于 :before pseudo selector?

css - 均匀分布的导航栏,悬停填充整个 li 元素

html - 位置为 :absolute 的元素上的垂直空间

html - 如何在其父 div 的中心对齐绝对位置子元素

jquery - 鼠标悬停时背景颜色不动画

html - 如何让我的 div 中的图像在悬停时改变不透明度?