html - 将鼠标悬停在 li 上时更改图像颜色

标签 html css svg

我正在尝试创建一个菜单,其中每个链接旁边都有一个图像/图标。我希望图像在非事件状态时为黑白图像,但当我将鼠标悬停在图像和文本上时为彩色图像。

我尝试使用另一个问题( https://stackoverflow.com/a/4028908/3334898 )中解释的 .svg ,它可以工作,但仅当我将鼠标悬停在图像上时,而不是文本上:/。

这是图像的 CSS:

.nav img
{
    height: 30px;
    width: 30px;
    margin-right: 5px;
    filter: url(filters.svg#grayscale); /* Firefox 3.5+ */
    filter: gray; /* IE6-9 */
    -webkit-filter: grayscale(1); /* Google Chrome, Safari 6+ & Opera 15+ */
}

.nav img:hover 
{
    filter: none;
    -webkit-filter: grayscale(0);
}

菜单是什么样的:

<div class="nav">

        <ul>

            <li id="home"><a href="index.php"><img src="menu/person.png">Présentation</a></li>
            <li id="formation"><a href="formation.php"><img src="menu/tablet.png">Formations</a></li>
            <li id="competence"><a href="competences.php"><img src="menu/etiquette.png">Compétences</a></li>
            <li id="experience"><a href="experiences.php"><img src="menu/work.png">Expériences</a></li>
            <li id="autre"><a href="autres.php"><img src="menu/autre.png">Autres</a></li>

        </ul>

    </div>

谢谢。

最佳答案

将 CSS 更改为

.nav a:hover img {
    filter: none;
    -webkit-filter: grayscale(0);
}

关于html - 将鼠标悬停在 li 上时更改图像颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21921596/

相关文章:

jquery - Slick Carousel 可变宽度不起作用

javascript - 并排对齐两个图(饼图和条形图)::d3 js

javascript - 动态添加文本到 SVG 路径

html - iFrame 滚动条可以在 webkit 中换肤吗?

javascript - 如何将模态居中到屏幕中心?

html - 从下拉菜单中隐藏占位符文本

html - 如果文本不存在,请留空行

html - 背景视频未在移动设备和台式机上的 Safari 浏览器中播放

css - 遵循路径的曲线矩形

javascript - 以具有javascript代码的Django形式发送输入名称