缩放图像并在悬停时添加文本叠加

时间:2016-08-04 15:04:14

标签: html css hover overlay scale

我有一组图像显示在另一个下方,看起来好像它们是第一眼就看到的一张完整图像,但是当图像在悬停时缩小时,它会在悬停时分解。

这些图片中的每一个都链接到我网站上的不同页面,所以我还想在悬停时向每个图像的中心添加一些文字。

我已经找到了很多关于如何添加文本的建议,但没有一个没有破坏我已经存在的图像过渡效果。

<style>
.image4 {
 -webkit-transition: all 0.7s ease;
 transition: all 0.7s ease;
} 

.image4:hover {
-webkit-transform:scale(0.7);
transform:scale(0.7);
}

</style>
<a>
<A HREF="http://philandkaren.weebly.com/the-day.html">
<img class="image4" src="http://philandkaren.weebly.com/files/theme/Homepage1.jpeg">
</a>

<a>
<A HREF="http://philandkaren.weebly.com/getting-there.html">
<img class="image4" src="http://philandkaren.weebly.com/files/theme/Homepage2.jpeg">
</a>

<a>
<A HREF="http://philandkaren.weebly.com/local-information.html">
<img class="image4" src="http://philandkaren.weebly.com/files/theme/Homepage3.jpeg">
</a>

<a>
<A HREF="http://philandkaren.weebly.com/accommodation.html">
<img class="image4" src="http://philandkaren.weebly.com/files/theme/Homepage4.jpeg">
</a>

<a>
<A HREF="http://philandkaren.weebly.com/taxis.html">
<img class="image4" src="http://philandkaren.weebly.com/files/theme/Homepage5.jpeg">
</a>

<a>
<A HREF="http://philandkaren.weebly.com/honeymoon-fund.html">
<img class="image4" src="http://philandkaren.weebly.com/files/theme/Homepage6.jpeg">
</a>


<a>
<A HREF="http://philandkaren.weebly.com/faqs.html">
<img class="image4" src="http://philandkaren.weebly.com/files/theme/Homepage7.jpeg">
</a>

<a>
<A HREF="http://philandkaren.weebly.com/rsvp.html">
<img class="image4" src="http://philandkaren.weebly.com/files/theme/Homepage8.jpeg">
</a>

有谁知道我如何实现我正在寻找的文字叠加,同时保留图像缩放?每张图片是750 x 128。

1 个答案:

答案 0 :(得分:2)

使用链接作为包装,使用position:relative并将文字内容添加到绝对定位的叠加层。

然后将悬停触发器移动到父链接:

a:hover .image4 {
  -webkit-transform: scale(0.7);
  transform: scale(0.7);
}

&#13;
&#13;
* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}
.image4 {
  -webkit-transition: all 0.7s ease;
  transition: all 0.7s ease;
  display: block;
}
a:hover .image4 {
  -webkit-transform: scale(0.7);
  transform: scale(0.7);
}
a {
  margin: 1em;
  display: inline-block;
  position: relative;
  text-decoration: none;
  color: white;
}
a .overlay {
  text-decoration: none;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  opacity: 0;
  transition: opacity .7s ease;
}
a:hover .overlay {
  opacity: 1;
}
&#13;
<a HREF="http://philandkaren.weebly.com/faqs.html">
  <img class="image4" src="http://philandkaren.weebly.com/files/theme/Homepage7.jpeg">
  <div class="overlay">
    <h1>OVERLAY TEXT</h1>
  </div>
</a>
&#13;
&#13;
&#13;