
Фон задаёт визуальное восприятие страницы и помогает выделить контент. В CSS для этого предусмотрен набор свойств, позволяющих управлять цветом, изображением, положением и поведением фона при прокрутке. Грамотно подобранный фон делает интерфейс чище и повышает читаемость текста.
Чтобы изменить цвет области, достаточно использовать свойство background-color и указать значение в HEX, RGB или HSL формате. Например, background-color: #f5f5f5; создаёт светло-серый фон без необходимости подключать изображение.
Если нужно добавить картинку, применяется background-image. Это свойство принимает ссылку на файл и может сочетаться с background-repeat, background-position и background-size для настройки повторения, расположения и масштаба изображения. Совместное использование этих свойств даёт полный контроль над внешним видом блока или всей страницы.
В современных интерфейсах часто применяют комбинации фонов – цветовые подложки с поверхностным изображением или градиентом. CSS позволяет объединить их в одной строке с помощью сокращённой записи background, что упрощает код и повышает читаемость стилей.
Как применить цвет фона с помощью свойства background-color

Свойство background-color используется для задания сплошного цвета фона любому элементу. Оно поддерживает форматы HEX (например, #ff6600), RGB (rgb(255, 102, 0)), RGBA с прозрачностью (rgba(255, 102, 0, 0.8)), HSL (hsl(24, 100%, 50%)) и HSLA. Использование RGBA или HSLA позволяет регулировать степень прозрачности без изменения самого цвета.
Чтобы применить цвет к странице, задают правило для тега body:
body { background-color: #f0f0f0; }
Цвет можно задавать и для отдельных блоков, например кнопок или карточек. В таких случаях фон помогает визуально отделить элементы интерфейса. Пример:
.button { background-color: #007acc; }
При выборе цвета важно учитывать контраст текста и фона. Для проверки можно использовать онлайн-инструменты, оценивающие соотношение яркости по стандарту WCAG. Это обеспечивает читаемость и доступность интерфейса на разных экранах.
Если требуется временно отключить цвет, значение можно установить как transparent. Это делает фон прозрачным и позволяет просматривать нижележащие элементы или изображение.
Как установить изображение фона через свойство background-image
Свойство background-image задаёт фоновое изображение для любого блока. Оно принимает значение в виде функции url() с путём к файлу. Пример базового применения:
div { background-image: url(«images/pattern.png»); }
Путь к изображению может быть относительным или абсолютным. Для файлов, расположенных рядом со стилевым файлом, используют относительный путь, например url(«../assets/bg.jpg»). При загрузке изображения с внешнего ресурса указывают полный адрес, например url(«https://example.com/bg.jpg»).
При использовании фоновых изображений важно учитывать их размер и вес. Оптимизация изображений через сжатие без потери качества ускоряет загрузку страницы. Рекомендуется использовать форматы WebP или AVIF, которые обеспечивают меньшее количество килобайт по сравнению с JPEG и PNG.
Если нужно установить несколько изображений, перечисляют их через запятую: background-image: url(«pattern.svg»), url(«texture.png»);. Первое изображение располагается выше остальных, что позволяет комбинировать текстуры и декоративные элементы.
Чтобы фон отображался корректно на устройствах с разным разрешением, применяют совместно свойства background-size и background-position. Например, background-size: cover; обеспечивает полное покрытие блока без искажений.
Как задать повторение фонового изображения с background-repeat

Свойство background-repeat определяет, как фоновое изображение заполняет область элемента. По умолчанию используется значение repeat, при котором картинка повторяется по горизонтали и вертикали. Это удобно для текстур и паттернов с равномерной структурой.
Чтобы управлять направлением повторения, можно указать один из нескольких вариантов. Таблица ниже показывает возможные значения и их поведение:
| Значение | Описание |
|---|---|
| repeat | Изображение повторяется по обеим осям. |
| repeat-x | Повторение только по горизонтали. |
| repeat-y | Повторение только по вертикали. |
| no-repeat | |
| space | Изображения равномерно распределяются без обрезки, между ними сохраняются интервалы. |
| round | Изображения масштабируются так, чтобы ровно поместиться в область без пустот. |
Пример кода для горизонтального повторения:
div { background-image: url(«pattern.png»); background-repeat: repeat-x; }
При адаптивной вёрстке стоит проверять, как повторяемый фон выглядит на разных разрешениях. Если элементы создают разрывы или искажения, лучше использовать background-size для точной подгонки текстуры под ширину контейнера.
Как изменить положение фона с помощью background-position
Свойство background-position задаёт начальную точку размещения фонового изображения внутри элемента. Оно управляет смещением по горизонтали и вертикали относительно верхнего левого угла блока, если не указано иное.
Значения можно задавать несколькими способами:
- Ключевыми словами: left, center, right, top, bottom.
- Процентами: 50% 50% – центр изображения относительно контейнера.
- Пикселями: 20px 40px – сдвиг на 20 пикселей вправо и 40 пикселей вниз.
Пример базового применения:
div { background-image: url(«photo.jpg»); background-position: right bottom; }
Порядок значений важен: первое отвечает за горизонталь, второе – за вертикаль. Если указано одно значение, второе принимается как center.
Для тонкой настройки положения изображения можно комбинировать проценты и единицы измерения:
background-position: calc(100% — 30px) 10px;
- Использовать проценты удобно при адаптивной вёрстке, когда размер контейнера меняется.
- Пиксели подходят для фиксированных блоков и иконок.
- Значение center center оптимально для фонов без чётких границ или узоров.
Чтобы убедиться, что изображение не обрезается при изменении позиции, можно дополнительно применить background-repeat: no-repeat и background-size: contain.
Как зафиксировать фон при прокрутке с помощью background-attachment
Свойство background-attachment управляет поведением фонового изображения при прокрутке страницы. Оно определяет, движется ли фон вместе с содержимым или остаётся неподвижным относительно окна просмотра.
Доступные значения:
scroll – фон прокручивается вместе со страницей. Это значение установлено по умолчанию.
fixed – фон остаётся на месте, создавая эффект неподвижного заднего плана. Часто используется для параллакса или фоновых фотографий на всю ширину экрана.
local – фон перемещается только при прокрутке содержимого самого элемента, если у него установлены внутренние полосы прокрутки.
Пример фиксации изображения:
body { background-image: url(«bg.jpg»); background-attachment: fixed; background-size: cover; }
Эффект fixed поддерживается не всеми мобильными браузерами, поэтому для адаптивных версий стоит проверять отображение на устройствах с iOS и Android. При необходимости можно задать альтернативный стиль, где фон прокручивается стандартно.
Использование background-attachment в сочетании с background-position и background-size позволяет создавать стабильные и визуально выразительные композиции без применения скриптов.
Как изменить размер фонового изображения с background-size

Свойство background-size управляет масштабом фонового изображения внутри элемента. Оно позволяет адаптировать изображение под размеры блока без изменения исходного файла.
Основные значения:
- auto – сохраняет исходный размер изображения.
- cover – масштабирует фон так, чтобы полностью покрыть элемент, возможна обрезка краёв.
- contain – масштабирует фон так, чтобы полностью поместиться внутри элемента, сохраняется пропорция, возможны пустые области.
- ширина и высота – задаются в пикселях или процентах, например background-size: 200px 150px;.
Примеры применения:
- Фон на весь экран: body { background-image: url(«bg.jpg»); background-size: cover; }
- Фон для логотипа без обрезки: .logo { background-image: url(«logo.png»); background-size: contain; }
- Фон с фиксированными размерами: .box { background-image: url(«pattern.png»); background-size: 100px 100px; }
Для адаптивной вёрстки чаще используют cover и contain, так как они сохраняют пропорции изображения при изменении размеров контейнера. В сочетании с background-position можно контролировать видимую область ключевых элементов изображения.
Как использовать несколько фоновых изображений одновременно
CSS позволяет задавать несколько фоновых изображений для одного элемента с помощью свойства background-image. Изображения перечисляются через запятую, причём первое в списке отображается поверх остальных.
Пример использования нескольких фонов:
div { background-image: url(«top.png»), url(«middle.png»), url(«bottom.png»); }
Для каждого изображения можно отдельно задавать:
- background-position – положение на элементе;
- background-repeat – повторение по горизонтали и вертикали;
- background-size – масштабирование;
- background-attachment – поведение при прокрутке.
Например, чтобы верхнее изображение оставалось фиксированным, среднее повторялось по горизонтали, а нижнее занимало весь блок:
div { background-image: url(«top.png»), url(«middle.png»), url(«bottom.png»); background-attachment: fixed, scroll, scroll; background-repeat: no-repeat, repeat-x, no-repeat; background-size: auto, auto, cover; }
Такой подход позволяет комбинировать текстуры, логотипы и декоративные элементы без добавления дополнительных HTML-элементов, снижая нагрузку на DOM и упрощая поддержку стилей.
Как сократить запись с помощью shorthand-свойства background

Свойство background объединяет несколько фоновых параметров в одной строке. Оно позволяет задавать цвет, изображение, повторение, положение, размер и поведение при прокрутке одновременно, сокращая код.
Синтаксис: background: [background-color] [background-image] [background-repeat] [background-position] / [background-size] [background-attachment];
Пример комбинированной записи:
div { background: #f0f0f0 url(«pattern.png») no-repeat center/cover fixed; }
Здесь одновременно задаются:
- цвет фона – #f0f0f0;
- фоновое изображение – pattern.png;
- повторение – no-repeat;
- позиция – center;
- размер изображения – cover;
- фиксирование при прокрутке – fixed.
Shorthand-свойство удобно при работе с несколькими блоками, так как уменьшает количество CSS-строк и делает код более наглядным. Если какой-либо параметр не требуется, его можно опустить, а оставшиеся значения сохранят правильное поведение фона.
Вопрос-ответ:
Можно ли задать несколько фоновых изображений для одного блока и как это сделать?
Да, CSS позволяет использовать несколько фоновых изображений одновременно. Для этого в свойстве background-image перечисляют ссылки на изображения через запятую, при этом первое изображение будет отображаться поверх остальных. Дополнительно для каждого изображения можно отдельно задать background-position, background-repeat, background-size и background-attachment. Пример: div { background-image: url(«top.png»), url(«bottom.png»); background-position: center top, center bottom; background-repeat: no-repeat, repeat-x; }.
Как выбрать правильный формат цвета для background-color?
Свойство background-color поддерживает несколько форматов: HEX (#ff6600), RGB (rgb(255, 102, 0)), RGBA с прозрачностью (rgba(255, 102, 0, 0.5)), HSL (hsl(24, 100%, 50%)) и HSLA. Если требуется прозрачность, используют RGBA или HSLA. Для сплошного цвета без прозрачности можно выбрать любой формат, удобный для восприятия и совместимый с другими стилями на странице.
Как правильно зафиксировать фон при прокрутке страницы?
Чтобы фон оставался неподвижным при прокрутке, используют свойство background-attachment: fixed. Важно дополнительно настроить background-size и background-position, чтобы изображение корректно покрывало область блока. Например: body { background-image: url(«bg.jpg»); background-attachment: fixed; background-size: cover; background-position: center; }. На мобильных устройствах значение fixed может работать иначе, поэтому стоит проверять отображение на iOS и Android.
Можно ли масштабировать фон так, чтобы он полностью помещался в блок без обрезки?
Да, для этого используется background-size: contain. Оно масштабирует изображение, сохраняя пропорции, чтобы оно полностью помещалось в контейнер, при этом могут появляться пустые области вокруг изображения. Если требуется заполнить весь блок, используют background-size: cover, но часть изображения может быть обрезана.
Как сократить запись всех фоновых свойств в одной строке?
Для этого применяется shorthand-свойство background. Оно объединяет цвет, изображение, повторение, положение, размер и поведение при прокрутке. Пример: div { background: #f0f0f0 url(«pattern.png») no-repeat center/cover fixed; }. Если какой-либо параметр не нужен, его можно опустить, остальные значения будут работать корректно. Такой подход уменьшает количество CSS-строк и упрощает редактирование стилей.
