У вас прыжки происходят по причине того, что вы картинка выпадает из нормального потока и её размеры контейнер не учитывает. Из этого следует вывод, что как только курсор уходит из области картинки, у контейнера div.music-image исчезает псевдокласс :hover.
Если серьёзно, то у вас высота блока div.music-image была 0. Наведение срабатывало на картинке. И как только картинка уезжала из-под курсора, псевдокласс :hover слетал с этого блока. Картинка ехала назад. И так по кругу.
@Petroveg почистил немного Ваш css jsfiddle.net/onahapa/474g8 . Насчет высоты не все ясно. Извините конечно, но где вы её указываете, ну то есть, в моем примере её нет и все работает
@onahapa вы взяли мой пример и спрашиваете, почему у вас не работало?))) Объясню ещё раз: у вас большая картинка была с position:absolute, а у меня она в нормальном потоке. Поэтому в моём примере высота общего контейнера определяется высотой большой картинки, а у вас она не влияла на контейнер никак. Ясно?
Почистили, говорите?)) Вот за такое надо руки рубить:
@Petroveg это редактор так настроен). Говоря в моем примере, я имел ввиду, Ваш пример "почищенный")). Теперь я вас понял =) именно это мне было не понятно, я про pos:ab. А за чем так сильно бить по рукам, за такое?
Евгений Петровonahapa Это ведь можно было сделать и без transform, обычным смещением через left. Но мне интересно другое, что будет производительней в данном случае, двигать через transform или position?
Возможно, решение покажется костыльным, но оно работает: смещать не картинку, а родительский див, увеличивая его размер, чтобы он находился в поле зрения указателя решение
Все бы ничего, да вот только, если рамку сделать красной(что бы видно было, как она реагирует), то будет видно, что происходит, а так, если изначально фотошопить рамку картинке, то хорошее решение=)
@podvzbzdnul наткнулся на проблему. Под картинкой(200х200), 2 картинки, которые должны быть ссылками. В итоге получается так, что из-за размера в 300рх и z-indexa 2, ссылки так и остаются под div-ов, и остаются не кликабельными.