Это все еще не работает в IE7 / 8 AFAIK, поэтому я боюсь, что это не ответит на вопрос.
Тем не менее, я оказался на этой странице, когда забыл, как сделать это, используя современные методы, поэтому я помещаю ответ здесь для справки.
Я смог сделать это только поместив img
в div контейнера / оболочки, так как img
элементы не будут принимать псевдо-классы, такие как :after
.
<div class="container"><img src="http://placekitten.com/240/320" alt="icanhaz"></div>
Затем CSS оформляется для предоставления псевдоэлемента при наведении.
.container {
position: relative;
}
.container:hover:after {
content: '';
position: absolute;
left: 0;
top: 0;
right: 0;
bottom: 0;
background: rgba(0,0,0,0.5); /* Here you may also use images, gradients, etc */
}
См. Пример здесь