Эластичные SVG элементы

Перевод статьи на tympanus.net

 

 

Несколько примеров эластичных компонентов с анимацией SVG фигур для улучшения взаимодействия с пользователем.

Сегодня мы бы хотели продемонстрировать несколько примеров добавления эффекта эластичности. Идея заключается в внедрении SVG элемента в компонент страницы, с целью его дальнейшей анимации. Данную технику можно применить к меню, кнопкам или другим элементам пользовательского интерфейса.

Для анимации SVG, будем использовать Snap.svg. Это отличная JavaScript библиотека для работы с SVG.

В качестве иконок используем Font Awesome.

Для демонстрации элементов draggable & droppable мы используем Dragabilly от David DeSandro.

Помните, что данные примеры будут корректно работать только в последних версиях браузеров.

Ниже один из примеров использования SVG с компонентами (в нашем случае в меню):

Мы используем два data атрибута для хранения SVG путей, которые в дальнейшем будем видоизменять (в зависимости от того, открываем ли мы или закрываем меню).

Элементы SVG будут располагаться абсолютно по отношению к меню; так же нам нужно немного пространства для того, чтобы во время анимации элементы не обрезались. Помните, что при расширении SVG на 100%, пропорции не сохраняются. Это очень важно в случае использования некоторых фигур. В данном примере мы выставляем не только 100% высоте и ширине элемента, но и задаем фиксированные размеры для контейнера содержащего SVG:

Используя Snap.svg мы можем видоизменить форму объекта

Надеемся, что данные примеры произвели на вас впечатление!