Sprite (спрайт)
Определение: Спрайт — это метод объединения нескольких изображений в одно. Обычно используется для иконок или небольших изображений на сайте. Вместо того чтобы загружать каждое изображение отдельно, браузер загружает один спрайт, а затем с помощью CSS отображает нужную часть изображения, что помогает уменьшить количество запросов и ускорить загрузку страницы.
Зачем это нужно
- Снижать количество HTTP-запросов: вместо загрузки множества файлов (например, иконок) браузер загружает один спрайт.
- Ускорять загрузку страницы, так как меньшее количество запросов = быстрее отображение контента.
- Объединять изображения логически: все иконки или декоративные изображения на сайте в одном файле.
- Оптимизировать работу с изображениями в интерфейсе: уменьшить нагрузку на сервер и CDN.
Пример
Пример кода:
// CSS для отображения части спрайта
.icon{
background-image: url('/images/sprite.png');
display: inline-block;
width: 24px;
height: 24px;
}
// Для иконки "home"
.icon-home {
background-position: 0 0;
}
// Для иконки "search"
.icon-search {
background-position: -24px 0;
}
Скриншот
Подпись к скриншоту: DevTools “Network”: показать, что все иконки загружаются из одного изображения — спрайта.
Частые ошибки
- Не оптимизировать спрайт: оставлять избыточные отступы и лишние изображения, из-за чего спрайт становится слишком тяжёлым.
- Игнорировать размер экрана: неправильно масштабировать изображения в спрайте для различных устройств.
- Путать расположение иконок: из-за неправильных значений
background-positionиконки не отображаются или отображаются не так, как нужно. - Использовать спрайты для изображений с высоким качеством (например, фотографий), где лучше использовать другие подходы (WebP, AVIF).
- Не проверять доступность: некоторые иконки могут требовать
aria-labelили других атрибутов для доступности.
Связанные термины
Наши услуги
- Создание корпоративных сайтов — используем спрайты для оптимизации загрузки иконок и мелких изображений.
- Доработка сайтов — исправим проблемы с изображениями и спрайтами, улучшив производительность и внешний вид сайта.
- Техническая поддержка сайта — оптимизируем и обновим ресурсы, чтобы сайт работал быстрее.