如何使图像悬停在css中?

2022-01-22 00:00:00 image hover css

我想在悬停时将图像从正常更改为更亮,我的代码:

 <div class="nkhome"><a href="Home.html"><img src="Images/btnhome.png"/></a></div>.nkhome{左边距:260px;顶部:170px;位置:绝对;宽度:59px;高度:59px;}.nkhome 一个 img:hover {背景:网址(图片/btnhomeh.png);位置:绝对;顶部:0px;}

为什么悬停不起作用?当我的鼠标在它上面时,它会显示第一张图像,而不是悬停图像.

解决方案

你有一个包含 img 标签的 a 标签.那是你的正常状态.然后添加一个 background-image 作为悬停状态,它会出现在 a 标签的背景中 - 在 img 标签后面.

您可能应该创建一个 CSS 精灵并使用背景位置,但这应该可以帮助您开始:

<a href="home.html"></a></div>div一个{宽度:59px;高度:59px;显示:块;背景图片: url('images/btnhome.png');}div a:悬停{背景图片: url('images/btnhomeh.png);}

这篇 A List Apart 2004 年的文章 仍然具有相关性,将为您提供一些关于sprites,以及为什么使用它们而不是两个不同的图像是个好主意.写得比我能向你解释的任何东西都要好.

I want to change the image from normal to brighter when it's on hover, My code:

    <div class="nkhome">
        <a href="Home.html"><img src="Images/btnhome.png" /></a>
    </div>
.nkhome{
    margin-left:260px;
    top:170px;
    position:absolute;
    width:59px;
    height:59px;
}
.nkhome a img:hover {
    background:url(Images/btnhomeh.png);
    position:absolute;
    top:0px;
}

Why doesn't work the hover? When my mouse is on it, it shows the first image, not the hover image.

解决方案

You've got an a tag containing an img tag. That's your normal state. You then add a background-image as your hover state, and it's appearing in the background of your a tag - behind the img tag.

You should probably create a CSS sprite and use background positions, but this should get you started:

<div>
    <a href="home.html"></a>
</div>

div a {
    width:  59px;
    height: 59px;
    display: block;
    background-image: url('images/btnhome.png');
}

div a:hover {
    background-image: url('images/btnhomeh.png);
}

This A List Apart Article from 2004 is still relevant, and will give you some background about sprites, and why it's a good idea to use them instead of two different images. It's a lot better written than anything I could explain to you.

相关文章