我试图在悬停时实现在我的缩略图上显示的简单标题。目的是让图像独立,然后在悬停时,图像逐渐消失,标题逐渐淡入上面。
我遇到的问题是悬停工作正常,直到鼠标越过标题本身,然后将图像返回到100%不透明度
<a href="#" class="thumbnail">
<img src="img/placeholder1.jpg" alt="...">
<span>caption</span>
</a>
CSS
a.thumbnail {
border:none;
border-radius: none;
padding:0;
margin:0;
position: relative;
background: #222;
}
a.thumbnail img {
-webkit-transition: opacity 0.5s ease;
-moz-transition: opacity 0.5s ease;
-o-transition: opacity 0.5s ease;
transition: opacity 0.5s ease;
opacity: 1;
}
a.thumbnail img:hover {
opacity: 0.7;
}
a.thumbnail span {
color: #FFF;
position: absolute;
bottom: 40%;
width: 100%;
height: 20%;
padding: 10px;
opacity: 0;
-webkit-transition: opacity 0.5s ease;
-moz-transition: opacity 0.5s ease;
-o-transition: opacity 0.5s ease;
transition: opacity 0.5s ease;
}
a.thumbnail:hover span {
opacity: 1;
}
答案 0 :(得分:2)
将图像悬停移动到父div。这样,当悬停在标题上方时,不透明度将保持不变,因为您仍然将鼠标悬停在父标题上。
a.thumbnail:hover img {
opacity: 0.7;
}
* {
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
a.thumbnail {
border: none;
border-radius: none;
padding: 0;
margin: 0;
position: relative;
background: #222;
}
a.thumbnail img {
-webkit-transition: opacity 0.5s ease;
-moz-transition: opacity 0.5s ease;
-o-transition: opacity 0.5s ease;
transition: opacity 0.5s ease;
opacity: 1;
}
a.thumbnail:hover img {
opacity: 0.7;
}
a.thumbnail span {
color: #FFF;
position: absolute;
bottom: 40%;
left: 0;
width: 100%;
padding: 10px;
background: red;
opacity: 0;
-webkit-transition: opacity 0.5s ease;
-moz-transition: opacity 0.5s ease;
-o-transition: opacity 0.5s ease;
transition: opacity 0.5s ease;
}
a.thumbnail:hover span {
opacity: 1;
}
&#13;
<a href="#" class="thumbnail">
<img src="http://lorempixel.com/output/city-q-c-200-200-4.jpg" alt="..." />
<span>caption</span>
</a>
&#13;