当我悬停时,我的图像不透明,一切都很好。但是出现的文字太透明,几乎看不到。如何解决?
<div class="projects">
<a href="#" target="_blank">
<img src="img/task_proj.jpg">
<span class="overlay">Task Manager</span>
</a>
</div>
这是js
答案 0 :(得分:0)
您只需要使图像半透明
删除
.projects a:hover{
opacity: 0.2;
-webkit-transition: opacity 0.15s ease;
-o-transition: opacity 0.15s ease;
transition: opacity 0.15s ease;
}
添加
.projects a:hover img {
opacity: 0.2;
-webkit-transition: opacity 0.15s ease;
-o-transition: opacity 0.15s ease;
transition: opacity 0.15s ease;
}
如果将不透明度放在锚点上,那么它将影响锚点中的所有内容。在您的情况下,您只需要图像是半透明的,因此只需定位图像而不是整个锚
答案 1 :(得分:0)
这是因为您正在更改<a>
的不透明度。由于<span>
位于<a>
内,因此其不透明度会受到影响。尝试更改<img>
。
.projects a:hover img {
opacity: 0.2;
-webkit-transition: opacity 0.15s ease;
-o-transition: opacity 0.15s ease;
transition: opacity 0.15s ease;
}
答案 2 :(得分:0)
当文本存在于透明元素内时,文本本身也变为透明。 要解决此问题,请将文本分区放在已应用透明度的元素之外,然后使用适当的样式在分区上放置文本。
position:relative;
bottom: 10px; //or an height to which you want to raise it relative to the parent element.