Изображения
Цель: изучить форматы изображений, получить первоначальные навыки оптимизации изображений, работы с фонами, градиентами и тенями.
Порядок выполнения лабораторной работы:
Теория
- изучить основные форматы изображений:
- jpeg,
- webp,
- avif,
- png,
- svg;
- изучить сценарии использования форматов изображений;
- изучить свойства для замещающего контента (img/video): object-fit и object-position;
- Как добавлять фон и использовать свойства из background:
- градиенты: linear, radial;
- тени для элементов box-shadow;
Практика
- Из макета в Figma экспортировать изображения в подходящем формате.
- Два изображения оптимизировать с помощью squoosh.app.
- Изображения добавить к проекту в папку img или images.
- В index.html в тегах img проставить корректные относительные пути до изображений.
- При необходимости в css используйте свойства object-fit или object-position.
- При наличии фоновых изображений, добавьте их к элементам с помощью background-image. Также для элементов с фоновыми изображениями обязательно добавить цвет (background-color).
- Добавьте использование теней, если они требуются по дизайну, если таких элементов нет - добавьте тень для элемента, который выглядит как кнопка.
- Добавьте градиенты по дизайну, если нет, то для крупного текста сделайте буквы с градиентом.
- Зафиксировать результаты работы с помощью системы контроля версий git и отправить репозиторий на Github.
Экспорт изображений из Figma
Выберите изображение в макете и посмотрите, как оно выглядит в слоях в левой панели.
Если в слоях показывается иконка пейзажа (пример ниже), то это изображение в макете хранится в растровом формате и его нет смысла экспортировать в векторном.
Если в иконках отображаются конкретные фигуры и в именах слоев встречаются Vector или описания фигур (пример ниже), то в макете это заложено кривыми и их стоит экспортировать в векторном формате. Если иконка состоит из нескольких фигур/слоев, выбирайте слой объединяющий их.
Далее в правой панели в Design, внизу есть раздел Export. В нем ваша задача выбрать подходящий формат.
Растровые изображения можно оптимизировать с помощью squoosh, а векторные - svg omg.
Пример решения с волнами
Требования к коду:
- Отсутствие ошибок на валидаторе для html и css;
- Код отформатирован.
- Использованы правильные форматы изображений.
Результаты выполнения лабораторной работы
Статическая веб-страница на хостинге, со структурой, которая соответствует требованиям и сохранена в системе контроля версий.
Дополнительные источники
- Про тег <img>
- Оптимизация изображений - squoosh.app
- Все о background
- Тени с котиками
- Все о градиентах
Вопросы для защиты
- Какие два способа формирования изображений вы знаете?
- В чем разница между двумя способами формирования изображений?
- Какие форматы изображений вы знаете?
- Для чего подходит какой-то формат?
- Когда полезны object-fit и object-position?
- Что сокращает свойство background?
- Какое свойство надо использовать если требуется только задать цвет фона?
- Можно ли добавлять несколько фонов на один элемент?
- Какими параметрами можно управлять у тени?
- Чем отличается линейный и конический градиенты?