Я никогда не видел, чтобы это делалось раньше, за исключением фоновых изображений, но я не понимаю, почему нет ... просто кажется, что вам нужно много дополнительного CSS и дополнительного HTML, чтобы заставить его работать, а не фон изображение.
Как было сказано ранее, трудно увидеть проблему, не увидев ваш реальный код в контексте, но, исходя из того, что я вижу, может быть несколько потенциальных ошибок:
Вам нужно обернуть изображение в содержащий элемент и присвоить ему ширину, высоту и переполнение. Скрытое переполнение будет скрывать то, что находится за пределами границ, которые div содержит . Элемент изображения является изображением, оно не содержит изображения, поэтому установка его на переполнение: скрытый не собирается ничего скрывать, а присвоение ему ширины просто изменит его размер, а не «обрезает» это (какой эффект вы собираетесь). Так что вам нужно что-то вроде:
<div id="work" class="sub">
<h3>MUSIC VIDEOS</h3>
<a class="sprite" href="#">
<img id="show_fire" class="thumbnail" src="images/daniel_gomes_soundoffire_sprite.png" />
</a>
</div>
с этим css:
.sprite {
width:140px;
height:61px;
overflow:hidden;
}
.sprite img {
margin-top: 0;
}
.sprite:hover img {
margin-top: -61px;
}
Я предлагаю вам использовать «a» в качестве содержащего элемента, поскольку не все браузеры распознают псевдокласс класса hover по тегам, отличным от тегов привязки.
Я знаю, что вы думаете, что использовать изображение вместо фонового изображения проще, но используя фоновые изображения, вы можете выполнить все это только с одним элементом и меньшим количеством CSS.