jQuery (изменить фон / показать текст):
HTML:
<div class="picture">
<div class="text">
<h1>Hey everyone!</h1>
</div>
</div>
CSS:
.picture {
width: 200px;
height: 200px;
background-image: url("https://www.w3schools.com/css/trolltunga.jpg");
}
.text {
background-color: rgba(255, 0, 0, 0.4);
width: 200px;
height: 200px;
display: none;
}
JS:
$(".picture").hover(function() {
$(this).animate({
opacity: 0.7
}, 100, function() {
$(this).css("background-image", "url('https://upload.wikimedia.org/wikipedia/en/2/27/Bliss_%28Windows_XP%29.png')");
});
$(".text").fadeToggle();
}, function() {
$(this).animate({
opacity: 0.7
}, 100, function() {
$(this).css("background-image", "url('https://www.w3schools.com/css/trolltunga.jpg')");
});
$(".text").fadeToggle();
});
https://jsfiddle.net/wlecki/28vschr1/
Решение только для CSS:
HTML:
<div class="picture">
<div class="text">
<h1>Hey everyone!</h1>
</div>
</div>
CSS:
.picture {
width: 200px;
height: 200px;
background-image: url("https://www.w3schools.com/css/trolltunga.jpg");
}
.text {
background-color: rgba(255, 0, 0, 0.4);
width: 200px;
height: 200px;
opacity: 0;
}
.picture:hover {
background-image: url("https://upload.wikimedia.org/wikipedia/en/2/27/Bliss_%28Windows_XP%29.png");
}
.picture:hover .text {
opacity: 1;
}
https://jsfiddle.net/wlecki/9vnokdec/