
Фон задаёт визуальное настроение страницы и помогает выделить контент. В CSS можно использовать цвета, изображения, градиенты и даже сочетания нескольких фонов. Для этого применяется свойство background и его производные: background-color, background-image, background-repeat, background-position и background-size.
Чтобы задать однотонный фон, достаточно определить цвет с помощью ключевого слова, HEX-кода или RGB-значения: body { background-color: #f5f5f5; }. Если нужен фон из изображения, используется свойство background-image: body { background-image: url('bg.jpg'); }. Дополнительно можно управлять его положением, масштабированием и повторением.
CSS позволяет комбинировать несколько фоновых слоёв. Например, поверх изображения можно наложить полупрозрачный градиент для повышения читаемости текста. При этом порядок следования значений в background определяет, какой слой будет выше.
Грамотная настройка фона делает интерфейс выразительным без перегрузки деталей. Важно учитывать контраст между текстом и подложкой, адаптивность при изменении размеров экрана и вес загружаемых изображений, чтобы страница оставалась лёгкой и быстрой.
Как применить однотонный цвет фона через свойство background-color

Свойство background-color задаёт однотонный цвет фона для любого HTML-элемента. Значение можно указать в формате HEX, RGB, RGBA, HSL или через имя цвета.
Пример использования:
body {
background-color: #f0f0f0;
}
В данном случае фон страницы станет светло-серым. Чтобы задать прозрачность, используется формат RGBA, где последний параметр определяет уровень прозрачности от 0 до 1:
div {
background-color: rgba(0, 128, 255, 0.3);
}
Цвет можно наследовать от родительского элемента с помощью значения inherit или удалить фон, указав transparent. Это удобно при комбинировании слоёв или работе с полупрозрачными элементами.
Для единообразного отображения цвета во всех браузерах рекомендуется использовать шестнадцатеричные или RGB-значения, избегая системных имён цветов, так как их интерпретация может отличаться.
Как установить изображение фона с помощью background-image

Свойство background-image задаёт фоновое изображение для элемента. Оно принимает значение в виде URL файла. Пример базового использования:

Чтобы изображение корректно отображалось, важно указать дополнительные параметры, определяющие его позицию, размер и повторение. Ниже приведена таблица с ключевыми свойствами, используемыми вместе с background-image:
| Свойство | Назначение | Пример |
|---|---|---|
| background-repeat | Определяет, будет ли изображение повторяться. | background-repeat: no-repeat; |
| background-size | Задаёт размер фонового изображения. | background-size: cover; |
| background-position | Указывает положение изображения на странице. | background-position: center top; |
| background-attachment | Определяет, фиксируется ли изображение при прокрутке. | background-attachment: fixed; |
Чтобы задать все параметры в одной строке, можно использовать сокращённую запись:
body { background: url("images/bg.jpg") no-repeat center center / cover fixed; }
Изображения большого размера лучше сжимать перед применением, чтобы не снижать скорость загрузки страницы. Для повторяющихся узоров предпочтительно использовать маленькие файлы с background-repeat, что уменьшает трафик и повышает производительность.
Как настроить повторение фона с параметром background-repeat

Свойство background-repeat управляет повторением фонового изображения по горизонтали и вертикали. Допустимые значения включают:
repeat – изображение повторяется по обеим осям, заполняя весь блок.
repeat-x – повтор только по горизонтали, вертикаль остаётся без повторений.
repeat-y – повтор только по вертикали, горизонталь остаётся без повторений.
no-repeat – изображение отображается один раз без повторений.
round – изображение масштабируется так, чтобы повторения точно умещались по обеим осям.
space – изображение повторяется целиком, при этом пробелы равномерно распределяются между повторениями.
Пример CSS для повторения изображения по горизонтали:
div {
background-image: url('pattern.png');
background-repeat: repeat-x;
}
Для исключения повторений и размещения изображения один раз используется:
section {
background-image: url('header.jpg');
background-repeat: no-repeat;
}
Если фон крупный и требуется заполнение без обрезки, лучше сочетать background-repeat: round с background-size для точного подгона под размеры блока.
При проектировании интерфейса важно учитывать соотношение размеров изображения и контейнера, чтобы повторение не создавало визуальных разрывов или искажений.
Как зафиксировать или прокручивать фон с помощью background-attachment

Свойство background-attachment управляет поведением фонового изображения при прокрутке страницы. Оно принимает значения scroll, fixed и local.
Значение scroll устанавливает фон, который движется вместе с содержимым. Это поведение по умолчанию, оно не требует дополнительного кода, но полезно явно указывать его для прозрачности:
background-attachment: scroll;
Значение fixed фиксирует изображение относительно окна просмотра. Фон не смещается при прокрутке страницы, что позволяет создавать эффект «плавающего» изображения:
background-attachment: fixed;
Важно учитывать, что на мобильных устройствах поддержка фиксированного фона ограничена, поэтому для адаптивных сайтов лучше использовать медиа-запросы или альтернативные решения.
Значение local заставляет фон прокручиваться вместе с внутренним содержимым элемента с полосой прокрутки, например, внутри блока с overflow: auto;:
background-attachment: local;
Это удобно для создания фоновых эффектов в прокручиваемых контейнерах, не влияя на остальную страницу.
Можно комбинировать background-attachment с background-position и background-size для точной настройки визуального эффекта. Например, фиксированный фон с центровкой и масштабированием под весь экран:
background: url('image.jpg') no-repeat center center / cover fixed;
Как масштабировать фон с background-size

Свойство background-size определяет размеры фонового изображения в CSS. Оно принимает ключевые значения: auto, cover, contain, а также конкретные размеры в пикселях или процентах.
Значение auto сохраняет исходные размеры изображения. При указании двух величин, например 200px 100px или 50% 50%, изображение масштабируется по ширине и высоте независимо друг от друга.
Опция cover заставляет изображение полностью покрывать контейнер, сохраняя пропорции. При этом часть изображения может быть обрезана. Это удобно для фоновых блоков с переменным размером.
Значение contain масштабирует изображение так, чтобы оно полностью помещалось внутри контейнера, сохраняя пропорции. При этом возможны пустые области по горизонтали или вертикали.
Можно комбинировать размеры в пикселях и процентах, например 100% auto, чтобы растянуть фон по ширине, оставив высоту неизменной. Для адаптивного дизайна часто используют 100% 100%, но это может исказить изображение.
Пример CSS:
div {
background-image: url('фон.jpg');
background-size: cover;
background-repeat: no-repeat;
background-position: center;
}
Используйте background-size совместно с background-position для точного управления видимой областью и масштабированием фонового изображения.
Как объединить несколько фоновых изображений в одном селекторе

В CSS можно использовать несколько фоновых изображений в одном селекторе, перечисляя их через запятую в свойстве background-image. Каждое изображение можно позиционировать и масштабировать отдельно с помощью соответствующих свойств.
Пример синтаксиса:
selector {
background-image: url('image1.png'), url('image2.png');
background-position: top left, center;
background-repeat: no-repeat, repeat;
background-size: 100px 100px, cover;
}
Пояснения к свойствам:
background-image– перечисление изображений через запятую. Первое изображение будет на верхнем слое, последнее – на нижнем.background-position– задает позицию каждого изображения. Порядок соответствуетbackground-image.background-repeat– определяет повторение каждого слоя. Возможные значения:no-repeat,repeat-x,repeat-y,repeat.background-size– управляет масштабированием изображений. Можно задавать размеры в пикселях, процентах или ключевых словах (cover,contain).
Дополнительные рекомендации:
- Используйте прозрачные PNG для верхних слоев, чтобы нижний слой оставался видимым.
- Для сложного наложения комбинируйте свойства
background-blend-modeиopacity. - При адаптивной верстке указывайте
background-size: coverдля каждого слоя, если требуется заполнение всей области.
Объединение нескольких фоновых изображений позволяет создавать визуально сложные эффекты без дополнительных HTML-элементов, экономя ресурсы и упрощая структуру страницы.
Вопрос-ответ:
Какие способы задания фона существуют в CSS?
В CSS можно задать фон несколькими способами: с помощью цвета, изображения или градиента. Цвет задается через свойство background-color, изображение через background-image, а градиенты — с помощью linear-gradient или radial-gradient. Также можно комбинировать эти методы, например, наложить полупрозрачный цвет поверх изображения.
Как сделать, чтобы фоновое изображение повторялось только по горизонтали?
Для этого используется свойство background-repeat. По умолчанию фон повторяется по обоим направлениям. Чтобы повторять изображение только по горизонтали, нужно написать background-repeat: repeat-x;. Если нужно полностью отключить повторение, используют background-repeat: no-repeat;.
Можно ли сделать фон страницы фиксированным при прокрутке?
Да, это делается с помощью свойства background-attachment. Значение fixed закрепляет фон относительно окна браузера, так что при прокрутке контента фон остается на месте. Пример: body { background-image: url('image.jpg'); background-attachment: fixed; }. Это удобно для создания параллакса или декоративных эффектов.
Как установить градиентный фон, который плавно меняется сверху вниз?
Для вертикального градиента используют linear-gradient с направлением to bottom. Например, background: linear-gradient(to bottom, #ffcccc, #660000); создаст плавный переход от светло-розового к темно-красному. Можно менять цвета и направление, чтобы получить разные визуальные эффекты.
Что делать, если фоновое изображение не растягивается на весь экран?
В этом случае можно применить background-size. Значение cover растягивает изображение, сохраняя пропорции и заполняя весь экран, а contain помещает изображение целиком, но может оставить пустые области. Пример: body { background-image: url('image.jpg'); background-size: cover; }. Также важно проверить, что html и body имеют высоту 100%.
