Создание и использование графики в формате SVG
Цель: изучение принципов векторной графики, получение навыков создания и подключения изображений в формате SVG.
Содержание и порядок выполнения лабораторной работы:
-
Изучить элементы и возможности работы SVG и его свойств:
- Базовые фигуры (circle, rect, ellipse, path, line, polyline и polygon);
- Путь - path;
- Группировка и повторное использование (g, def, symbol и use);
- viewBox и viewPort для SVG;
- Способы подключения SVG-графики;
- Анимации в SVG.
- Пропорции изображения preserveAspectRatio
-
Продолжить работу в репозитории из прошлой работы, но в новой ветке.
-
Создать “библиотеку” многократно используемых иконок с помощью элемента
<symbol>
. Пиктограммы должны быть выполнены в едином стиле и быть легко узнаваемыми, каждая из них должна иметь уникальный идентификатор, на который можно будет ссылаться в дальнейшем в документе SVG. Для цвета используйте значениеcurrentColor
. В “библиотеку” должны входить иконки:- закрытия модального окна,
- бургер-меню,
- поиска,
- домашней страницы,
-
Используя “библиотеку”, создайте кнопки или ссылки используя
<use>
и идентификаторы. Иконки в них должны быть разноцветными, при наведении курсора они должны менять цвет, иконка бургер-меню при клике должна с помощью анимации преобразовываться в крестик. -
Создать городской пейзаж с несколькими планами. Используйте элемент
для группировки нескольких элементов SVG. В нем следует использовать трансформации и анимации для создания эффекта параллакса с горизонтальной прокруткой за счет разной скорости движения планов города Пример. Для создания глубины и визуального интереса на разные планы добавьте фильтр размытия, используя код в конце раздела. Для разных планов используйте разные значения stdDeviation. -
Создать карту родного квартала с помощью SVG. Карта должна включать кликабельные объекты, при нажатии на которые будет отображаться информация.
<defs>
<filter id="blur">
<feGaussianBlur in="SourceGraphic" stdDeviation="1" />
</filter>
</defs>
Требования к html и css:
- Удобочитаемый код;
- Код отформатирован;
- Отсутствие ошибок на валидаторе для html и css.
Результаты выполнения лабораторной работы:
Результаты работы проверены наставником.
Статическая веб-страница на хостинге проверенная, со структурой и оформлением, которая соответствует требованиям и сохранена в системе контроля версий.
Источники
Дополнительные источники:
- Пример, где один из элементов нарисован с помощью SVG
- Один из большого числа наборов иконок
- Узоры на фон
Вопросы для защиты
- Что такое SVG и чем он отличается от других форматов изображений?
- Что такое атрибут viewBox в SVG и как он используется?
- Каковы наиболее распространенные элементы SVG и каково их назначение?
- В чем разница между элементами
<g>
и<symbol>
в SVG? - Каково назначение элемента
<defs>
в SVG? - Как можно использовать элемент
<use>
в SVG для повторного использования элементов? - Как анимировать элементы SVG с помощью CSS и JavaScript?
- Каковы некоторые приемы создания отзывчивых SVG-изображений?
- Как можно оптимизировать SVG-изображения?
- Как можно добавить интерактивность в SVG-изображения с помощью JavaScript?
- Как можно использовать градиенты для стилизации элементов SVG?
- Как создавать сложные формы в SVG с помощью элемента
<path>
? - Как использовать фильтры SVG для применения визуальных эффектов к изображениям?
- Как можно использовать SVG-изображения в сочетании с HTML и CSS?
- Какова роль атрибута viewBox в SVG-анимации?