.cont {
position: relative;
width: 200px;
height: 200px;
background: url('asd.jpg');
}
.cont span.text {
position: absolute;
top: 0;
left: 0;
opacity: 0;
color: white;
}
.cont .overlay {
position: absolute;
top: 0;
left: 0;
background: black;
opacity: 0;
width: 100%;
height: 100%;
}
.cont:hover span.text {
opacity: 1;
}
.cont:hover .overlay {
opacity: 0.3;
}
<div class="cont">
<div class="overlay"></div>
<span class="text">Tekst</span>
</div>
Oczywiście, że tak. Powyżej podany przykład przedstawia taką sytuację.
Klasie .cont przypisujemy pozycjonowanie relatywne, Następnie tworzymy "przyciemniacz" i tekst o pozycji absolutnej (aby mogły się na siebie nakładać). Tekst ma widoczność ustawioną na 0. Kiedy najedziemy na .cont to wyświetli nam tekst i przyciemni obrazek.