2016-12-07 9 views
2

Я пытаюсь анимировать изображение правильно для зависания. У меня есть 90% пути. Если вы быстро и быстро наводите указатель мыши, вы можете видеть, как спрайт перемещается в фоновом режимеPNG Sprite hover мерцание

Есть ли исправление или лучший способ сделать это?

http://www.elevux.org/watermelon/

Спасибо !!!

.wrapper { 
 
\t width:600px; 
 
\t height:600px; 
 
\t overflow:hidden; 
 
\t margin:20px; 
 
} 
 
\t 
 
.watermelon { 
 
\t width:600px; 
 
\t height:600px; 
 
\t background:url(http://www.elevux.org/watermelon/watermelon-sprite.png) left top; 
 
transition:background .5s steps(23, end); 
 
display:block 
 

 
} 
 

 

 
.watermelon:hover { 
 
\t background-position:-13800px top; 
 
\t cursor:pointer 
 
\t 
 
}
<div class="wrapper"> 
 
<div class="watermelon"></div> 
 
</div>

ответ

0

Вы должны переместить переход на селекторе парения, видя, как это, когда вы хотите, чтобы анимация иметь место.

https://jsfiddle.net/gzk3mcyr/

.wrapper { 
    width: 600px; 
    height: 600px; 
    overflow: hidden; 
    margin: 20px; 
} 

.watermelon { 
    width: 600px; 
    height: 600px; 
    background: url(http://www.elevux.org/watermelon/watermelon-sprite.png) left top; 
    display: block; 
} 

.watermelon:hover { 
    background-position: -13800px top; 
    cursor: pointer; 
    transition: background .5s steps(23, end); 
} 
+0

Если ответ при условии, исправляет проблему, пожалуйста, отметьте, как принято отвечать. Благодарю. – seemly

+0

Эй, похоже, это работает, но удаляет анимацию, которая является классной! – user3516920

+0

Хорошо, как насчет следующего редактирования скрипта? Единственным «недостатком» является анимация на загрузке страницы (которую можно скрыть с помощью javascript), но я думаю, что это может вызвать взаимодействие с элементом. https://jsfiddle.net/gzk3mcyr/1/ – seemly