
Фоновое изображение в CSS задается через свойство background-image, принимающее значение url(‘путь_к_изображению’). Для корректного отображения важно указывать полный или относительный путь к файлу, поддерживаемые форматы – JPEG, PNG, WebP, SVG. Использование формата WebP позволяет уменьшить размер файла без потери качества.
Свойство background-repeat контролирует повторение изображения. По умолчанию оно повторяется по горизонтали и вертикали (repeat). Для одноразового фонового изображения задают no-repeat, а background-size с параметром cover масштабирует изображение так, чтобы оно полностью заполняло блок, сохраняя пропорции. Параметр contain гарантирует, что изображение полностью умещается внутри блока, не обрезаясь.
Для позиционирования фонового изображения используют background-position. Наиболее точные значения задаются в процентах или пикселях, например 50% 20px. Это особенно важно при адаптивной верстке, чтобы ключевые элементы изображения оставались видимыми на экранах разных размеров.
Совмещение нескольких фоновых изображений возможно через перечисление значений через запятую. Для каждого изображения отдельно задаются свойства background-repeat, background-size и background-position, что позволяет создавать сложные композиции без дополнительных HTML-элементов.
Как подключить изображение через свойство background-image

Для установки фонового изображения применяется синтаксис background-image: url('путь_к_файлу');. Путь может быть относительным, например images/fon.jpg, или абсолютным, начиная с https://.
Поддерживаются форматы PNG, JPEG, WebP и SVG. PNG и SVG используют для прозрачных областей, JPEG – для фотографий, WebP – для уменьшения веса без потери качества.
Можно задавать несколько фоновых изображений через запятую: background-image: url('fon1.png'), url('fon2.png');. Первое изображение располагается сверху.
Для контроля отображения фонового изображения используют background-repeat, background-size и background-position. Пример: background-size: cover; background-position: center; background-repeat: no-repeat; растягивает изображение на весь блок без искажения и центрирует его.
Для совместимости с разными устройствами рекомендуется использовать изображения с разрешением, кратным 2, и проверять контраст текста с фоном. Для ускорения загрузки подключаемые изображения оптимизируют и кэшируют.
Использование background-size для масштабирования фона
Свойство background-size задает размеры фонового изображения. Допустимые значения: конкретные размеры в пикселях или процентах, а также ключевые слова cover и contain.
cover масштабирует изображение так, чтобы оно полностью покрывало блок, сохраняя пропорции. Часть изображения может быть обрезана, если соотношение сторон блока и изображения различается.
contain масштабирует изображение полностью в пределах блока, не обрезая его. При этом возможны пустые области вокруг изображения.
Размеры в пикселях задаются двумя значениями: ширина и высота. Пример: background-size: 400px 250px;. Проценты задаются относительно размера блока: background-size: 100% 50%;.
| Значение | Описание | Пример |
|---|---|---|
| cover | Полное покрытие блока с сохранением пропорций, возможна обрезка | background-size: cover; |
| contain | Полное отображение без обрезки, возможны пустые зоны | background-size: contain; |
| 300px 200px | Фиксированная ширина и высота в пикселях | background-size: 300px 200px; |
| 100% 50% | Масштабирование относительно блока | background-size: 100% 50%; |
Для полноэкранных баннеров рекомендуется cover, для декоративных элементов или иконок – contain. При использовании фиксированных размеров важно проверять пропорции изображения, чтобы избежать искажений.
Настройка положения фона с помощью background-position
Свойство background-position управляет расположением фонового изображения внутри элемента. Оно принимает два значения: горизонтальное и вертикальное, которые можно задавать в единицах px, % или с помощью ключевых слов.
Примеры ключевых слов для позиционирования:
top– верх элементаbottom– низ элементаleft– левая сторонаright– правая сторонаcenter– центр по соответствующей оси
Сочетания ключевых слов позволяют точно определить позицию:
top left– верхний левый уголcenter center– центр элемента по обеим осямbottom right– нижний правый угол
Процентные значения интерпретируются относительно размеров элемента:
0% 0%– верхний левый угол50% 50%– центр100% 100%– нижний правый угол
Пиксельные значения задают точное смещение относительно верхнего левого угла:
20px 30px– сдвиг на 20px вправо и 30px вниз- Можно комбинировать пиксели и проценты, например:
10px 50%
-50px 0– сдвиг фона влево на 50px0 -20px– сдвиг фона вверх на 20px
Применение вместе с background-repeat позволяет создавать точное позиционирование повторяющихся фоновых узоров:
background-position: top right;сbackground-repeat: no-repeat;закрепляет изображение в верхнем правом углуbackground-position: 50% 0;сbackground-repeat: repeat-x;выравнивает фон по центру горизонтально и повторяет его по оси X
Для адаптивного дизайна рекомендуется проверять, как позиция фона ведет себя при изменении размеров контейнера. Комбинация процентов и ключевых слов обеспечивает гибкость и точность.
Повторение фонового изображения с background-repeat
Свойство background-repeat управляет повторением фонового изображения внутри блока. Оно принимает четыре основных значения: repeat, repeat-x, repeat-y и no-repeat.
repeat дублирует изображение по горизонтали и вертикали, заполняя всю площадь элемента. Используется для текстур и паттернов, ширина которых меньше блока, чтобы избежать искажения.
repeat-x повторяет изображение только по горизонтали. Эффективно для декоративных полос или градиентов, которые должны тянуться на всю ширину.
repeat-y повторяет изображение только по вертикали. Применяется для боковых рамок или вертикальных полос, где требуется непрерывный рисунок по высоте.
no-repeat отключает повторение. Полезно для центрального логотипа или иллюстрации, где повтор может нарушить композицию. Для выравнивания изображения при no-repeat используют background-position.
Можно комбинировать повторение с позиционированием, например: background-repeat: repeat-x; background-position: top right;. Это позволяет создавать сложные композиции без дополнительных элементов.
Для оптимизации производительности рекомендуется использовать изображения с минимальным размером файла и подходящей плотностью пикселей, особенно при повторении на больших блоках.
В CSS3 добавлены значения round и space. round масштабирует изображение так, чтобы оно полностью умещалось в блоке кратным числом раз, space распределяет повторяемые изображения с равными промежутками.
Правильное использование background-repeat упрощает верстку и снижает количество лишнего HTML-кода, создавая чистую и гибкую графическую композицию.
Фиксация фона при прокрутке с background-attachment

Свойство background-attachment позволяет управлять поведением фонового изображения при прокрутке страницы. Основные значения:
scroll– фон перемещается вместе с содержимым.fixed– фон фиксируется относительно окна браузера, не двигаясь при прокрутке.local– фон прокручивается вместе с содержимым блока, включая прокрутку внутреннего элемента.
Применение fixed эффективно для создания параллакс-эффекта без JavaScript:
section {
background-image: url('image.jpg');
background-attachment: fixed;
background-size: cover;
background-position: center;
}
Рекомендации при использовании fixed:
- Для больших изображений использовать
background-size: cover, чтобы заполнить экран без искажений. - Комбинировать с
background-positionдля точного расположения ключевых элементов изображения. - Избегать фиксированных фонов на мобильных устройствах с низкой производительностью, так как это может вызвать мерцание при прокрутке.
- При необходимости использовать медиа-запросы для отключения
fixedна экранах меньше 768px.
Особенности рендеринга в браузерах:
- Chrome и Firefox поддерживают плавную фиксацию без лагов.
- Safari на iOS может игнорировать
background-attachment: fixed, заменяя его на поведениеscroll. - IE11 поддерживает фиксированный фон, но требуется уточнение размеров блока для корректного отображения.
Комбинируя background-attachment: fixed с прозрачными наложениями (rgba или градиентами), можно усилить визуальный эффект без увеличения веса страницы.
Комбинирование нескольких фоновых изображений через CSS

CSS позволяет накладывать несколько фоновых изображений на один элемент, разделяя их запятой в свойстве background-image. Порядок указания изображений определяет их положение: первое изображение оказывается сверху, последнее – на фоне.
Для управления положением каждого слоя используется свойство background-position. Например, background-position: top left, center center; разместит первый слой в верхнем левом углу, а второй – по центру элемента.
Размеры каждого изображения задаются через background-size. Можно указать разные значения для слоев: background-size: 100px 100px, cover; изменит первый слой до фиксированного размера, второй растянет на весь блок.
Для контроля повторения слоев применяется background-repeat. Например, no-repeat, repeat-x; запретит повторение первого изображения и позволит повторять второй по горизонтали.
Смешивание слоев по прозрачности и наложению достигается с помощью background-blend-mode. Значения multiply, screen, overlay позволяют создавать сложные визуальные эффекты без использования графических редакторов.
Пример комплексного сочетания:
background-image: url(‘texture.png’), url(‘pattern.png’);
background-position: top left, center center;
background-size: 50px 50px, cover;
background-repeat: repeat, no-repeat;
background-blend-mode: multiply;
Такой подход обеспечивает контроль над каждым слоем: позиция, размер, повторение и режим смешивания настраиваются независимо, создавая детализированные и адаптивные композиции без лишнего кода.
Применение прозрачности и градиентов к фоновым изображениям

Для управления прозрачностью фонового изображения применяется свойство background-color с использованием RGBA или HSLA, которое накладывается поверх изображения. Например:
background: linear-gradient(rgba(0,0,0,0.5), rgba(0,0,0,0.5)), url('image.jpg');
Такой приём создаёт полупрозрачный слой, регулирующий контраст и читаемость текста без редактирования исходного изображения. Коэффициент альфа-канала задаёт степень прозрачности: 0 – полностью прозрачный, 1 – полностью непрозрачный.
Для плавных цветовых переходов поверх изображения используется градиент, определяемый функциями linear-gradient() или radial-gradient(). Градиенты могут включать несколько цветовых точек с разной степенью прозрачности:
background: linear-gradient(to bottom, rgba(255,255,255,0.2), rgba(0,0,0,0.7)), url('image.jpg');
Порядок перечисления слоёв важен: первым указывается верхний слой (градиент или цвет), затем изображение. Чтобы слои не перекрывали друг друга полностью, каждому задаётся нужная прозрачность.
Для точного позиционирования и повторения применяются свойства background-position, background-size, background-repeat. Комбинация прозрачного градиента и изображения позволяет адаптировать фон под разные контрасты и цветовые схемы без создания дополнительных файлов.
