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

时间:2014-02-20 23:00:32

标签: html css svg

我正在尝试创建一个菜单,其中每个链接旁边都有一个图像/图标。我希望图像在不活动时是黑白的,但是当我将鼠标悬停在图像和文本上时,它会变成彩色。

我试图使用.svg,正如另一个问题(https://stackoverflow.com/a/4028908/3334898)中所解释的那样,只有当我将鼠标悬停在图像上时才会起作用,而不是文本:/。

以下是图片的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>

谢谢。

1 个答案:

答案 0 :(得分:4)

将CSS更改为

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