Вы решаете это, переосмысливая свои варианты.
Вы создаете определенную область с <a>
с display:block;
или <div>
и используете overflow hidden;
, чтобы скрыть переполнение и position:relative;
.
Затем вы помещаете ваш <img>
спрайт изображения внутри абсолютно позиционированного, что возможно, поскольку вы позиционировали родителя.
Затем используйте :hover
на изображении, чтобы изменить положение.
Теперь ваш спрайт основан на теге img, поэтому вы можете использовать текст alt
.
Следующий пример основан на спрайте Facebook с двумя версиями иконки друг над другом, каждая 50 на 50 пикселей, общая высота изображения 100 пикселей:
<!DOCTYPE html>
<html>
<head>
<style>
.icon {
display:block;
position:relative;
width:50px;
height:50px;
border:1px solid red;
overflow:hidden;
}
#fb {
position:absolute;
top:0;
left:0;
}
#fb:hover {
position:absolute;
top:-50px;
left:0;
}
</style>
</head>
<body>
<a href="https://facebook.com" class="icon" title="Facebook">
<img src="sprite-facebook.png" id="fb" width="50" height="100" alt="Facebook">
</a>
</body>
</html>