@vetsmen

Как сменить фон transition?

У меня есть div с каким-то стилем:
<div class="block"></div>
.block { background: url('../img/img.png');}
.block:hover { background: url('../img/img.png') 0 10px;}

То есть при наведении у меня просто меняются координаты этого же изображения. При использовании transition у меня просто плавно анимируется смена координат изображения, а не плавное появление. Как решить этот вопрос?
На js я бы решал это так: создал 2 блока: block, block_hover и при наведении на block я бы плавно показывал block_hover
А как такое сделать на css?
  • Вопрос задан
  • 232 просмотра
Решения вопроса 1
xtala
@xtala
Постигает Дзен
Плавное появление скорее всего надо реализовывать через плавное изменение прозрачности. Для этого наверное надо сверху через z-index наложить непрозрачную маску блоком, а затем через transition изменить ее альфа канал со 100% до нуля, при наведении, т.е в псевдокласе :hover . Или воспользоваться свойством display: none. Но тут не совсем понятно как будет реализовано постепенное исчезновение.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 3
werty1001
@werty1001
undefined
Ответ написан
Комментировать
whoisthere
@whoisthere
Не благодари. Жми «Нравится»
.block { background: url('../img/img.png'); transition: all 0.3s;}
.block:hover { background: url('../img/img.png') 0 10px;}

Используйте разные картинки. У Вас transition отрабатывает на background-position.

Фидл
Ответ написан
stanislav_qq
@stanislav_qq
Куда проще codepen.io/anon/pen/BpZbrZ
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы