Перемещение элемента CSS background-position с помощью позиции мыши

Перемещение элемента CSS background-position с помощью позиции мыши

От автора: предположим, вы хотите переместить CSS background position элемента, когда на него наводится указатель мыши, чтобы сделать дизайн более интересным.

У вас есть такой элемент:

И вы задаете для него фон:

Вы можете настроить положение фона в JavaScript следующим образом:

Или вы можете вместо этого изменить пользовательские свойства CSS в JavaScript:

Вот пример, в котором фон перемещается непосредственно через JavaScript, но с примененным переходом, поэтому он плавно перемещается в новую позицию, а не дергается:

Или вместо этого вы можете перенести фактический элемент (вместо фона). Вы сделали бы это, если в перемещающемся элементе был бы какой-то контент или интерактивные взаимодействия. Вот пример, который снова задает пользовательские свойства CSS, но затем перемещает сам элемент через translate() и calc(), чтобы замедлить скорость.

Я уверен, что есть множество других способов сделать это — перемещение SVG viewBox, скрипты, управляющие холстом, webGL … кто знает! Если у вас есть какие-то более увлекательные способы сделать это, напишите в комментариях.

Автор: Chris Coyier

Источник: //css-tricks.com/

Редакция: Команда webformyself.

Метки:

Похожие статьи:

Комментарии Вконтакте: