
Фоновое изображение в CSS задаётся свойством background-image. Формат записи требует указания URL-адреса изображения в функции url(), например: background-image: url(‘image.jpg’);. Поддерживаются форматы JPEG, PNG, GIF и SVG, при этом SVG сохраняет масштабируемость без потери качества.
Чтобы изображение корректно занимало пространство блока, применяются свойства background-size, background-repeat и background-position. Значение cover заставляет изображение покрывать весь элемент, сохраняя пропорции, а contain вписывает изображение внутрь элемента без обрезки. no-repeat запрещает повторение, repeat-x и repeat-y ограничивают повторение по горизонтали или вертикали.
Для фиксации изображения относительно окна браузера используется background-attachment со значением fixed. Это особенно полезно для параллакс-эффектов или статичных фоновых элементов при прокрутке страницы.
При работе с многослойными фонами можно задавать несколько изображений через запятую в background-image. Каждый слой контролируется отдельными свойствами: положение, повторение и размер задаются в том же порядке, что и перечислены изображения. Это позволяет создавать сложные композиции без дополнительных HTML-элементов.
Выбор подходящего формата изображения для фона
Для фоновых изображений чаще всего используют форматы JPEG, PNG и WebP. JPEG подходит для фотографий с большим количеством цветов и градиентов, обеспечивая высокий уровень сжатия без заметной потери качества. Оптимальные параметры сжатия – 70–80%, что позволяет уменьшить вес файла без искажения деталей.
PNG предпочтителен для графики с прозрачными областями, логотипов и изображений с четкими линиями. PNG-24 обеспечивает полноценную цветовую палитру и альфа-канал, тогда как PNG-8 уменьшает размер за счет ограничения палитры до 256 цветов, что подходит для простых паттернов.
WebP сочетает преимущества JPEG и PNG, поддерживая как сжатие с потерями, так и без потерь, а также прозрачность. В среднем WebP-файл на 25–35% легче аналогичного JPEG или PNG при сопоставимом качестве, что ускоряет загрузку страниц.
SVG используется для векторной графики и идеально подходит для повторяющихся паттернов или иконок на фоне, сохраняя резкость при любом разрешении экрана. SVG практически не увеличивает вес страницы и позволяет управлять цветами через CSS.
Выбор формата зависит от типа изображения: фотографии – JPEG или WebP, графика с прозрачностью – PNG или WebP, векторные элементы и паттерны – SVG. Комбинация форматов позволяет оптимизировать скорость загрузки и качество визуального представления на разных устройствах.
Применение свойства background-image к элементу

Свойство background-image используется для задания фонового изображения для любого блочного элемента. Синтаксис выглядит следующим образом:
background-image: url("путь_к_изображению");
Примеры использования:
- Фоновое изображение для
div:
div {
background-image: url("background.jpg");
}
header с абсолютным путем:header {
background-image: url("/images/header-bg.png");
}
Дополнительно рекомендуется комбинировать background-image с другими свойствами для точной настройки:
background-repeat– предотвращает повторение или задаёт повтор по горизонтали/вертикали.background-position– управляет начальной точкой изображения (например,center top).background-size– позволяет масштабировать изображение (cover,contain, конкретные размеры).background-attachment– фиксирует изображение при прокрутке страницы (fixedилиscroll).
Для нескольких фонов можно перечислять изображения через запятую:
div {
background-image: url("layer1.png"), url("layer2.png");
background-position: top left, center;
background-repeat: no-repeat, repeat;
}
Использование linear-gradient совместно с background-image позволяет создавать плавные переходы:
section {
background-image: linear-gradient(rgba(0,0,0,0.5), rgba(0,0,0,0.5)), url("photo.jpg");
background-size: cover;
background-position: center;
}
Для производительности рекомендуется:
- Использовать форматы
WebPилиAVIFдля меньшего размера файлов. - Указывать оптимальные размеры изображений под целевое устройство.
- Стараться избегать больших изображений, чтобы не замедлять загрузку страницы.
Свойство background-image поддерживается всеми современными браузерами без префиксов, что делает его универсальным инструментом для оформления элементов.
Настройка повторения фонового изображения через background-repeat

Свойство background-repeat управляет тем, как фоновое изображение повторяется внутри блока. Возможные значения:
repeat– изображение повторяется по горизонтали и вертикали (по умолчанию).repeat-x– повтор только по горизонтали.repeat-y– повтор только по вертикали.no-repeat– изображение отображается один раз.space– изображение повторяется с равными промежутками, без обрезки.round– изображение масштабируется так, чтобы точно поместиться в блоке и повторяться без обрезки.
Примеры использования:
- Повтор по горизонтали:
- Единичное отображение:
- Равномерное заполнение блока:
- Автоматическое масштабирование и повторение:
div {
background-image: url('texture.png');
background-repeat: repeat-x;
}
div {
background-image: url('logo.png');
background-repeat: no-repeat;
}
div {
background-image: url('pattern.png');
background-repeat: space;
}
div {
background-image: url('tile.png');
background-repeat: round;
}
Для точного позиционирования вместе с повторением используют background-position и background-size. Например, background-repeat: no-repeat лучше комбинировать с background-position: center, чтобы изображение занимало центральное место в блоке.
При работе с крупными блоками, где изображение повторяется много раз, стоит выбирать форматы с малым весом (PNG, SVG), чтобы уменьшить нагрузку на загрузку страницы.
Изменение положения изображения с помощью background-position
Свойство background-position управляет точкой привязки фонового изображения относительно блока. Значение задается двумя координатами: горизонтальной и вертикальной. Например, background-position: right top; помещает изображение в верхний правый угол.
Можно использовать пиксели, проценты или ключевые слова. Значение 50% 50% центрирует изображение, а 0 100% – привязывает к левому нижнему углу. Процентные значения определяют смещение от соответствующего края блока: горизонталь – от левого, вертикаль – от верхнего.
Для точного позиционирования можно комбинировать единицы. Пример: background-position: 20px 30px; сдвигает изображение на 20 пикселей вправо и 30 пикселей вниз от верхнего левого угла блока.
Синтаксис допускает одиночное значение: background-position: center; эквивалентно center center. Использование ключевых слов облегчает выравнивание на разных размерах блоков.
Для адаптивных макетов часто применяют процентные значения вместе с background-size, чтобы изображение оставалось правильно позиционированным при изменении размеров блока.
При использовании нескольких фоновых изображений можно задавать background-position через запятую: background-position: left top, right bottom; – первое изображение в левом верхнем углу, второе – в правом нижнем.
Комбинация background-position и background-repeat позволяет создавать точные декоративные эффекты без дополнительного HTML.
Масштабирование фона с помощью background-size

Свойство background-size управляет размерами фонового изображения. Оно принимает ключевые значения: auto, cover, contain, а также точные размеры в пикселях, процентах или других единицах измерения.
Значение auto сохраняет оригинальные размеры изображения. cover растягивает изображение так, чтобы оно полностью покрывало блок, сохраняя пропорции, при этом часть может обрезаться. contain масштабирует изображение, чтобы оно полностью помещалось в блок, не обрезаясь, но могут появляться пустые области.
Для точного задания размеров используются две величины через пробел: ширина и высота. Например, background-size: 300px 150px; изменяет изображение до заданных размеров независимо от исходного соотношения сторон.
| Значение | Описание | Пример использования |
|---|---|---|
| auto | Сохраняет оригинальный размер изображения | background-size: auto; |
| cover | Изображение покрывает весь блок, возможна обрезка | background-size: cover; |
| contain | Изображение помещается в блок полностью, без обрезки | background-size: contain; |
| конкретные размеры | Устанавливает точную ширину и высоту | background-size: 400px 200px; или background-size: 50% 100%; |
При работе с адаптивной версткой предпочтительно использовать cover или процентные значения, чтобы изображение корректно масштабировалось под разные размеры экранов. Для многократного фонового изображения применяют отдельные размеры через запятую, например: background-size: 50% auto, cover;.
Рекомендуется сочетать background-size с background-position и background-repeat для точного управления отображением фона и предотвращения искажений.
Фиксация фона при прокрутке через background-attachment

Свойство background-attachment управляет поведением фонового изображения при прокрутке страницы. Значение fixed закрепляет фон относительно окна просмотра, создавая эффект, когда содержимое прокручивается поверх неподвижного изображения. Например: background-attachment: fixed;.
Для совместимости с мобильными устройствами стоит учитывать, что некоторые браузеры iOS и Android могут игнорировать fixed. В таких случаях используют медиазапросы для замены на scroll или применяют псевдоэлементы с абсолютным позиционированием.
При закрепленном фоне важно контролировать размер изображения через background-size. Чаще всего используют cover, чтобы изображение полностью заполняло область, или contain, чтобы сохранить пропорции. Пример: background-size: cover; background-attachment: fixed;.
Для улучшения производительности на больших страницах рекомендуется избегать тяжелых изображений и использовать форматы WebP или оптимизированные JPEG/PNG. Закрепленный фон увеличивает нагрузку на рендеринг при плавной прокрутке, поэтому минимизация размера файла критична.
Комбинация background-attachment: fixed с параллакс-эффектами реализуется через слои и CSS-переменные. Основной принцип: фиксированный фон движется независимо от контента, что позволяет создавать визуальную глубину без использования JavaScript.
Использование нескольких фоновых изображений одновременно
CSS позволяет накладывать несколько фоновых изображений на один элемент с помощью свойства background-image. Изображения перечисляются через запятую, при этом первое в списке располагается поверх остальных.
Пример:
div {
background-image: url("pattern.png"), url("texture.jpg"), url("gradient.svg");
background-position: center, top left, bottom right;
background-repeat: no-repeat, repeat, no-repeat;
background-size: 200px, auto, cover;
}
Каждое изображение можно настраивать отдельно, используя соответствующие значения в свойствах background-position, background-repeat и background-size, также разделяя их запятыми. Если указано меньше значений, оставшиеся изображения используют последнее заданное значение.
Такой подход упрощает создание сложных визуальных эффектов без лишних элементов в разметке. Например, можно объединить текстуру, декоративный паттерн и полупрозрачный градиент в одном блоке.
Чтобы сохранить читаемость контента, стоит учитывать прозрачность верхних слоёв и контраст между ними. При работе с анимациями следует помнить, что каждый слой увеличивает нагрузку на рендеринг, особенно при больших изображениях.
Создание градиента поверх фонового изображения

Чтобы наложить градиент на изображение, используется свойство background-image с указанием нескольких слоёв. Сначала задаётся градиент, затем путь к изображению. Например:
background-image: linear-gradient(rgba(0,0,0,0.5), rgba(0,0,0,0.5)), url('photo.jpg');
Порядок записи важен: первый слой (градиент) располагается поверх второго (изображения). Цвета и степень прозрачности задаются через RGBA, что позволяет добиться нужного затемнения или цветового эффекта.
Для корректного отображения следует добавить background-size: cover; и background-position: center;, чтобы изображение заполнило область без искажений. При необходимости можно использовать background-blend-mode со значениями multiply, overlay или screen для изменения способа смешивания цветов.
Такой приём применяют для улучшения читаемости текста на фоне изображения и придания странице более выразительного визуального акцента без использования дополнительных элементов.
Вопрос-ответ:
Почему моё фоновое изображение не отображается?
Наиболее частые причины — неправильный путь к файлу, отсутствие самого изображения в указанной папке или опечатка в названии. Проверьте, совпадает ли регистр букв и расширение файла. Также убедитесь, что элемент, к которому применяется фон, имеет размеры — если высота и ширина равны нулю, фон не будет виден.
