我有一个带有背景颜色、背景图像和一些文本的 div。我希望,当我将鼠标悬停在 div 上时,背景图像会慢慢消失,就像过渡效果或其他东西一样,但文本和颜色仍然在 div 中可见。我对任何类型的方法都持开放态度。
最佳答案
您可以仅使用添加一些 DOM 元素的 CSS 轻松地做到这一点。
.fadebg {
position: relative;
height: 100px;
width: 100px;
background-color: red;
}
.fadebg:hover .img, .fadebg:hover img {
opacity: 0;
}
.text {
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
color: white;
z-index: 1;
}
.img {
background-repeat: no-repeat;
background-image: url(https://upload.wikimedia.org/wikipedia/en/b/bc/Screenshot_Snarf.jpg);
background-size: 100px 100px;
}
.img, img {
opacity: 1;
height: 100px;
width: 100px;
position: absolute;
top: 0;
left: 0;
bottom: 0;
right: 0;
overflow: hidden;
-webkit-transition: 1s all;
-moz-transition: 1s all;
-ms-transition: 1s all;
-o-transition: 1s all;
transition: 1s all;
}
<div class="fadebg">
<div class="text">Hi</div>
<div class="img"></div>
</div>
<br>
<div class="fadebg">
<div class="text">Hi</div>
<img src="https://upload.wikimedia.org/wikipedia/en/b/bc/Screenshot_Snarf.jpg">
</div>
关于javascript - 如何悬停一个 div 并使其背景图像慢慢消失而不影响其中的内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44444450/