[英]Switch between two images in html with css
我正在研究wordpress主题,并希望在悬停时在两个缩略图之间切换。
我的代码看起来像这样:
<a class="thumb" href="posturl"> <img src="img1.jpg" class="image1" /> <img src="img2.jpg" class="image2" /> </a>
所以现在我需要一些css在悬停时在image1和image2之间切换。
如果有人知道我如何用一些JavaScript来获得淡入淡出的效果,将不胜感激。
如果您使用的是大图像,在使用悬停按钮时请务必小心。浏览器可能需要一段时间才能首次显示该图像。 为了避免这种情况,请尝试使用精灵并在悬停时更改背景位置
a.thumb
{
background-image: url(img.jpg) no-repeat 0 0;
}
a.thumb:hover
{
background-image: url(img.jpg) no-repeat -100px 0; /*set to the position of the second image*/
}
如果您想在js中使用某种效果,。也许sprites不是最好的答案,那取决于您想要的效果。 为此,您需要一个类似Mootools或Jquery的框架。
祝好运
您不需要在那里的两个<img>
标签,只需引用CSS中的图像和悬停状态即可:
a.thumb
{
background-image: url(img1.jpg);
}
a.thumb:hover
{
background-image: url(img2.jpg);
}
最基本的悬停示例。
您还可以使用CSS精灵:
a.thumb
{
background-image: url(img1_sprite.jpg);
background-position: 0 0;
}
a.thumb:hover
{
background-image: url(img1_sprite.jpg);
background-position: -60px 0; /*see below*/
}
这会将背景推向左侧,其中第二个图像的宽度为60px。
对于褪色图像,可以使用CSS3转换,但是IE直到版本9才支持此功能。
首先,您要摆脱img标签,仅使用CSS:
a:link {
background: url("img1.jpg");
}
a:hover {
background: url("img2.jpg");
}
您可以使用javascript,但这会变得非常复杂,但是CSS3很快就会准备好淡入淡出效果:
a:link {
background: url("img1.jpg");
-webkit-transition:background 1s ease-in;
-moz-transition:background 1s ease-in;
-o-transition:background 1s ease-in;
transition:background 1s ease-in;
}
a:hover {
background: url("img2.jpg");
}
a .image1 { display: inline; }
a .image2 { display: none; }
a:hover .image1 { display: none; }
a:hover .image2 { display: inline; }
要进行过渡,请查看CSS过渡:
http://net.tutsplus.com/tutorials/html-css-techniques/css-fundametals-css-3-transitions/
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.