【问题标题】:Replace one image with another using hover使用悬停将一张图片替换为另一张图片
【发布时间】:2015-11-19 03:51:55
【问题描述】:

我有这个代码

<div class="mix category-1">

<a href="img/holder-01-large.png" class="photo">

<img src="img/holder-01-small.png alt="Ram - Srbija" class="img-small-1"></a>

<a href="img/slider-photo-1.jpg" target="_blank" class="techdraw">Primer montaze</a>

<a class="popup-youtube" href="https://www.youtube.com/watch?v=dz1kDQEHJaU">Video primer</a>

</div>

我想用相同尺寸的图像将鼠标悬停在它上面时替换这个 holder-01-small.png。仅使用 CSS 不接触此 HTML 代码是否有可能?

【问题讨论】:

  • 无论如何您都必须更改 HTML,因为您必须在 src 末尾插入一个 "

标签: html css hover pseudo-class


【解决方案1】:

是的,这是可能的,但没有使用您提出的方法。 相反,创建一个 div(在这里使用 img 标签意味着我们需要一个透明图像作为占位符,而 div 就可以了)

<div class="image"></div>

在 css 中尝试类似下面的操作,您需要指定高度和宽度,因为 div 在技术上是空的,否则它只会自行折叠。

.image {
    background-image: url("path-to-file");
    height: xx;
    width: yy;
}

.image:hover {
    background-image: url("path-to-different-file");
}

然后这个 div 会改变它的背景图片。

【讨论】:

  • 感谢您的帮助!李斯特先生的解决方案最适合我。
  • 对不起,我想问你如何从那个 .image 类中建立一个链接?我需要该图像可点击以打开更大的图像。
【解决方案2】:

可能是在使用这个 HTML,是的。 (只要在src后面插入缺少的引号,就是!)

a.photo:hover img {
  display: none
}
a.photo:hover::after {
  content: url(http://lorempixel.com/100/100);
}
<div class="mix category-1">

  <a href="img/holder-01-large.png" class="photo">

    <img src="http://lorempixel.com/g/100/100" alt="Ram - Srbija" class="img-small-1" />

  </a>

  <a href="img/slider-photo-1.jpg" target="_blank" class="techdraw">Primer montaze</a>

  <a class="popup-youtube" href="https://www.youtube.com/watch?v=dz1kDQEHJaU">Video primer</a>

</div>

请注意,我将 HTML 更改为指向网络上的另一个图像,以便在 sn-p 中显示一些内容;希望你不要认为这是作弊!

【讨论】:

  • 谢谢,成功了!再问一个问题。 Image holder-01-small.png 有 margin-bottom:7px;我想在悬停时将该值设置为新图片。怎么样?
  • 这有点难。给 &lt;a&gt; 一个 7px 的 padding-bottom 会有所帮助吗?
  • 在图片下我有两个按钮。我给了他们 7px margin-top。我可以这样做吗?也许这不是一个好主意,但现在一切似乎都很好,就像我想要的那样。
【解决方案3】:

如果您可以放置​​ div 而不是 img标签,则可以在 css 中添加 background-imgproperty 然后悬停。像这样:

.img-small-1{
  background-img: url('..img/holder-01-small.png');
  width: 'your image's width';
  height: 'your image's height';
}

.img-small-1:hover {
  background-img: url('..img/myOtherImage.png');
}

【讨论】:

  • 感谢您的帮助!李斯特先生的解决方案最适合我。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-03-31
  • 1970-01-01
  • 2013-06-27
  • 2012-06-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多