使用 css 在 html 中的两个图像之间切换

发布于 2024-10-02 16:46:00 字数 333 浏览 4 评论 0原文

我正在开发一个 WordPress 主题,并希望在悬停时在两个缩略图之间切换。

我的代码看起来像这样:

<a class="thumb" href="posturl"> <img src="img1.jpg" class="image1" /> <img src="img2.jpg" class="image2" /> </a>

所以现在我需要一些 css 来在悬停时在 image1 和 image2 之间进行更改。

如果有人知道我如何使用一些 JavaScript 获得淡入淡出效果,我将不胜感激。

I'm working on a wordpress theme and want to switch between two thumbnail images on hover.

The code that i have looks something like this :

<a class="thumb" href="posturl"> <img src="img1.jpg" class="image1" /> <img src="img2.jpg" class="image2" /> </a>

So now I need some css to change between image1 and image2 on hover.

And if somebody knows how i can get a fade effect with some javascript that would be greatly appreciated.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

如果没结果 2024-10-09 16:46:00

如果您使用大图像,则使用悬停时要小心。浏览器第一次可能需要一段时间才能显示图像。为了避免这种情况,如果你想在 js 中获得一些效果,请尝试使用精灵并更改悬停时的背景位置

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*/
}

。也许精灵不是最好的答案,这取决于你想要的效果。为此,您需要一个像 Mootools 或 Jquery 这样的框架。

祝你好运

be careful when using hover if you are using large images.. browser might take a while to show the image for the first time. To avoid that try using sprites and changing the background position on hover

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*/
}

if you want some effects in js.. maybe sprites are not the best answer, it depends on the effect that you want. for that you'll need a framework like Mootools or Jquery.

Good Luck

新雨望断虹 2024-10-09 16:46:00

您不需要其中的两个 标签,您只需在 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 才支持此功能。

You don't need the two <img> tags in there, you just have to reference the images and hover state in CSS:

a.thumb
{ 
   background-image: url(img1.jpg);
}

a.thumb:hover 
{ 
   background-image: url(img2.jpg);
}

The most basic of hover examples.

You can also use CSS sprites:

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*/
}

This shoves the background to the left where 60px is the width of your second image.

For fading images you can use CSS3 transtitions, but IE does not support this until Version 9.

笑着哭最痛 2024-10-09 16:46:00

首先,您想要摆脱 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");
}

First, you want to get rid of the img tags and use only css:

a:link {
background: url("img1.jpg");
}
a:hover {
background: url("img2.jpg");
}

You could use javascript but that would get very complicated, CSS3 however will have fade effects ready soon:

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");
}
随遇而安 2024-10-09 16:46:00
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/

a .image1 { display: inline; }
a .image2 { display: none; }

a:hover .image1 { display: none; }
a:hover .image2 { display: inline; }

for transition, take a look at css transitions:

http://net.tutsplus.com/tutorials/html-css-techniques/css-fundametals-css-3-transitions/

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文