尝试获得某种效果时遇到麻烦:
我有一个图像。我想悬停在它上面。它应该变黑并弹出一些文本。
例子^
最简单/最简单的设置是什么?最好只有 HTML 和 CSS
注意:该元素需要background-image
在 CSS 中设置。
.thumbnail {
background-image: url(potato.jpeg);
height: 400px;
width: 450px;
}
.thumbnail:hover {
background: rgb(0, 0, 0);
height: 400px;
width: 450px;
opacity: 0.5;
transition: 0.8s;
}
\
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<link href="style.css" rel="stylesheet" type="text/css">
</head>
<body>
<div class="thumbnail"> </div>
</body>
</html>
您应该为覆盖层使用单独的元素,在我的示例中是一个子元素。只有悬停状态可见,常规状态不可见,因为opacity: 0
.thumbnail {
background-image: url(https://placehold.it/450x400/fa0);
height: 400px;
width: 450px;
}
.overlay {
background: rgb(0, 0, 0);
height: 400px;
width: 450px;
opacity: 0;
transition: 0.8s;
}
.thumbnail:hover .overlay {
opacity: 0.5;
}
<div class="thumbnail"><div class="overlay"> </div> </div>
当涉及完全没有不透明度的文本时,它变得有点复杂:在下面的示例中,覆盖元素具有半透明的背景颜色,并opacity: 1
在父元素悬停时获取。这样文本在悬停时没有不透明度,但由于其自身的不透明度设置为 0.5,背景仍然具有:
.thumbnail {
background-image: url(https://placehold.it/450x400/fa0);
height: 400px;
width: 450px;
}
.overlay {
background: rgba(0, 0, 0, 0.5);
height: 400px;
width: 450px;
opacity: 0;
transition: 0.8s;
font-size: 36px;
color: #fff;
}
.overlay:hover {
opacity: 1;
}
<div class="thumbnail"><div class="overlay">SOME TEXT</div></div>
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句