uwebdesign

подкаст «Суровый веб» про веб разработку, IT и ux дизайн

warcraft_rus
  • «Суровый веб»
  • Полезные ссылки
  • Книги
  • Обзоры
  • О проекте
  • Контакты
  • Поддержать проект
uWebDesign

SVG анимация с помощью CSS, SMIL и Snap.svg

22.02.2015 — 2 комментария

Мы давно обещали сделать ролик про анимацию SVG элементов на страницах, но все как-то не удавалось. Сегодня мы наконец-то рады вам представить первый ролик из серии, в котором расскажем про варианты анимации SVG: с помощью CSS, SMIL и JavaScript (на примере Snap.svg).

На самом деле у нас с этим роликом было как с Мистралями. Не сложились обстоятельства для записи. Ну вот теперь наконец-то сложились.

#

SVG анимации

Batman Logo SVG Animation

Попробуем еще разок собрать все вместе со ссылками. Существуют три способа анимации SVG элементов на странице, два из которых применимы и для HTML элементов. Я, конечно же, говорю про CSS и JavaScript анимации. Но для SVG можно еще использовать SMIL (Synchronized Multimedia Integration Language) анимации.

SMIL анимации

Это очень крутая технология если нам нужно анимировать path-ы и при этом хранить это все в одном SVG файле. Да, CSS анимации тоже можно включать в файл, но с их помощью нельзя анимировать атрибут d у path-ов, поэтому SMIL оказывается намного более интересной технологией. Собственно JavaScript тоже можно включать прямо в SVG файлы, но поддержка браузеров немного разная, поэтому нужно обязательно думать что и как использовать.

SMIL поддерживается во всех браузерах с незапамятных времен (с ранних версий), кроме Internet Explorer, который не поддерживает эти анимации до сих пор.

Полезные ссылки:

  • Гайд по SMIL анимациям
  • SVG Morphing Animations

CSS анимации

Здесь все предельно ясно, мы уже давно привыкли использовать CSS для небольших анимаций HTML элементов. Тоже самое можно делать и с SVG: большинство атрибутов можно анимировать и поддержка браузеров значительно лучше. Ну потому что хотя бы Internet Exporer 10 узнал про такое явление, как CSS анимации.

Полезные ссылки:

  • Анимируем SVG с помощью CSS
  • Пример SVG Line Animation с помощью CSS

JavaScript анимации

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

В некоторые даже включены возможности анимации, например в Snap.svg. Я бы всем советовал именно эту библиотеку, хотя многие привыкли работать с Velocity.js, такой подход тоже имеет право на существование.

Полезные ссылки:

  • Snap.svg
  • Туториал на Codyhouse про анимацию нескольких элементов по очереди

Заключение

И, конечно же, не забывайте делать ваши SVG доступными (accessible) для скрин-ридеров и прочих поисковых роботов. Пишите в комментариях о том, что хотелось бы увидеть в следующих роликах!

Тип видео: Обзоры на web технологии Метки: CSS, JavaScript, SVG

2 комментария

  1. Alexander Goncharov прокомментировал

    08.09.2015 at 21:43

    Между прочи на ютюбе это наш второй по популярности обзор, неплохо-неплохо.

    Ответить
  2. Сергей прокомментировал

    24.03.2019 at 23:29

    Спасибо — всё на одной странице. Всё кроме css — пока тёмный лес, так что беру в закладки и буду учить. Спасибо.

    Ответить

Добавить комментарий Отменить ответ

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.

Поиск

uWebDesign настоятельно рекомендует!

  • Войти на сайт
  • Зарегистрироваться
Подписаться на рассылку

warcraft_rus
warcraft_rus
Полезные ссылки
  • О проекте
  • Часто задаваемые вопросы
  • Реклама
  • Поддержи проект!
  • Контакты
Пожертвуй на развитие проекта
Наш подкаст
в iTunes в Android в RSS
Все права защищены © 2014-2025 uWebDesign. Сделано с ♥ в Челябинске.
Пользовательское соглашение. Сайт работает на хостинге SmartApe.