我试图给予悬停效果,但无法理解如何给它。我正在做这个简单的方法,我对悬停效果知之甚少。
HTML:
<div class="social">
<ul>
<li><a href="#"><img src="http://i.imgur.com/nHJ6Loa.png" alt="facebook" class="fbhover"></a></li>
</ul>
CSS for facebook icon:
.fbhover:hover {
background-image:url(http://i.imgur.com/bdMNHnw.png);
background-repeat:no-repeat;
}
答案 0 :(得分:0)
您无法用背景图片替换<img>
元素。然后,您可以:
<img>
元素并使用src
和onmouseover
事件更改其onmouseout
属性。我不喜欢这个解决方案,因为我觉得它应该只做CSS。<img>
元素。相反,请使用空元素,并使用您在悬停时更改的background-image
设置样式。我不喜欢这种解决方案,因为在你的情况下,你的图像不是装饰性的。<img>
与默认图片一起使用。当您悬停包装元素时,隐藏图像并使用background-image
设置包装元素的样式。我选择这个解决方案。HTML:
<ul>
<li><a href="#" class="fbhover"><img src="http://i.imgur.com/nHJ6Loa.png" alt="facebook" /></a>
</li>
</ul>
CSS:
.fbhover{
display: inline-block;
}
.fbhover:hover {
background-image:url(http://i.imgur.com/bdMNHnw.png);
background-repeat:no-repeat;
}
.fbhover:hover > img{
visibility: hidden;
}
答案 1 :(得分:0)
<img>
元素不使用background-image
CSS属性,因此您应该使用<div>
来实现此效果。尝试将HTML更改为:
<ul>
<li><a href="#"><div class="fbhover"></div></a></li>
</ul>
然后,将CSS更改为:
.fbhover {
display: inline-block;
width: 26px;
height: 27px;
background: url('http://i.imgur.com/nHJ6Loa.png') no-repeat 0 0;
}
.fbhover:hover {
background-image: url('http://i.imgur.com/bdMNHnw.png');
}
请注意,您使用的两张图片尺寸不同。 “默认”一个是26像素宽,27像素高,而“悬停”一个是24像素x 25像素。因此,当悬停时,您会看到图像位置发生轻微变化。
答案 2 :(得分:0)
你无法使用css切换图像的来源,但是你可以影响背景图像,所以你需要设置,首先用你的起始背景图像设置一个div元素,然后用css切换它
有关示例,请参阅CSS: Change image src on img:hover。
答案 3 :(得分:0)
您需要在悬停时为图像指定宽度和高度。这是 demo
.fbhover:hover {
http://l2.yimg.com/ts/api/res/1.2/_QJTbkK9JEp2XwjwJcoMEg--/YXBwaWQ9eWhvbWVydW47cT04NTtzbT0xO3c9MjUwO2g9MTQx/http://media.zenfs.com/en-US/video/video.abcnewsplus.com/49e95f54ffbd408cb1b752a69899014d);
background-repeat:no-repeat;
height:300px;
width:300px;
}
答案 4 :(得分:0)
以图像为背景制作一个div(大小合适)(并给它一个id或类)。然后,在你的CSS中,只需使用悬停事件做你想做的任何事情。
答案 5 :(得分:0)
最后,我尝试了这种方法,它也有效。
<div class="social">
<ul>
<li class="facebook"><a href="#"></a></li>
</ul>
</div>
.social li.facebook {
background-image:url(img/facebook.png);
background-repeat:no-repeat;
width:27px;
cursor:pointer;
}
.social li.facebook:hover {
background-image:url(img/facebookhover.png);
background-repeat:no-repeat;
}