
Свойство background в CSS используется для добавления изображений к элементам без использования тега <img>. Такой способ позволяет контролировать позиционирование, повторение, масштабирование и поведение изображения при изменении размеров блока. Это особенно удобно для оформления кнопок, секций, карточек и фонов целых страниц.
Чтобы добавить изображение, применяется выражение background-image: url(«путь_к_файлу»). В скобках указывается адрес файла: относительный путь от текущего CSS-файла или абсолютный URL. Например, background-image: url(«images/bg.jpg») подключает файл из папки images, расположенной рядом с таблицей стилей.
При работе с изображениями важно учитывать параметры background-repeat, background-position и background-size. Они управляют тем, как именно рисунок располагается внутри элемента – повторяется ли он, выравнивается ли по центру, растягивается ли на весь блок. Правильное сочетание этих свойств помогает достичь нужного визуального результата без искажения картинки.
Использование background с функцией url() облегчает поддержку кода и делает дизайн более гибким: можно быстро заменить фон, не изменяя HTML-разметку. Такой подход особенно полезен при создании адаптивных интерфейсов и тем оформления, где требуется точный контроль над графикой на уровне CSS.
Использование свойства background-image с путём к файлу

Свойство background-image задаёт фоновое изображение для элемента через путь к файлу, указанному в функции url(). Этот путь может быть абсолютным или относительным, в зависимости от расположения ресурсов проекта.
Пример базового синтаксиса:
div {
background-image: url("images/bg.jpg");
}
Если файл находится в той же папке, что и CSS, достаточно указать имя файла. Для изображений в другой директории нужно прописать относительный путь:
background-image: url("../assets/pattern.png");
- Абсолютный путь начинается с протокола (например,
https://site.com/img/bg.jpg) и используется для загрузки изображений с внешних серверов. - Относительный путь рассчитывается от местоположения CSS-файла, поэтому при изменении структуры проекта необходимо обновлять ссылки.
Для корректной работы с пробелами или специальными символами в пути файл следует заключать в кавычки. Если путь содержит кириллические символы, рекомендуется использовать латиницу или URL-кодировку.
Чтобы браузер не повторял изображение, можно добавить свойство background-repeat: no-repeat;, а для масштабирования – background-size со значениями cover или contain. Эти параметры часто применяются вместе с background-image для точного контроля отображения.
- Проверить расположение CSS и изображений.
- Использовать относительные пути внутри проекта.
- Оптимизировать размер файлов перед подключением.
- Избегать пробелов и кириллицы в именах файлов.
Такая настройка обеспечивает корректное подключение фона во всех браузерах и упрощает поддержку кода при обновлении структуры проекта.
Разница между относительным и абсолютным путём к изображению

Относительный путь указывает расположение файла относительно текущего CSS-документа. Например, если CSS и папка с изображениями находятся рядом, запись будет выглядеть так: background-image: url('images/bg.jpg');. Такой вариант удобен при переносе проекта, так как структура папок сохраняется, и ссылки остаются рабочими.
Абсолютный путь содержит полный адрес к файлу, начиная с корня сайта или протокола. Пример: background-image: url('/assets/images/bg.jpg'); или background-image: url('https://example.com/images/bg.jpg');. Этот способ используют, когда файл размещён на другом домене или доступен из общей директории.
При разработке локальных проектов предпочтительно использовать относительные пути, чтобы избежать ошибок при переносе на сервер. Абсолютные пути стоит применять только в случаях, когда изображение подгружается из внешнего источника или хранится в общей статической папке, доступной всем страницам сайта.
Чтобы проверить корректность пути, можно временно вставить ссылку в адресную строку браузера. Если изображение открывается, значит путь указан правильно. Ошибки чаще всего связаны с неверным регистром букв или некорректной структурой каталогов.
Применение нескольких изображений в одном блоке

Свойство background-image позволяет указать несколько изображений через запятую. Например: background-image: url('pattern.png'), url('gradient.png');. Первое изображение будет располагаться поверх второго, создавая комбинированный эффект.
Для управления положением каждого слоя применяются свойства background-position и background-size с аналогичным синтаксисом: значения перечисляются через запятую в том же порядке, что и изображения. Пример: background-position: center, top left; или background-size: cover, auto;.
Если нужно зафиксировать один слой, например фон с текстурой, а другой прокручивать вместе со страницей, используют свойство background-attachment с раздельными значениями: background-attachment: fixed, scroll;.
При использовании нескольких фонов важно учитывать порядок слоёв: первое изображение в списке отображается поверх последующих. Это удобно при наложении декоративных элементов или полупрозрачных текстур.
Для оптимизации загрузки следует применять изображения минимального размера и формата WebP или AVIF, чтобы избежать увеличения времени рендеринга блока.
Настройка положения изображения с помощью background-position

Свойство background-position задаёт координаты фонового изображения относительно области элемента. Оно принимает два значения: первое отвечает за горизонтальное смещение, второе – за вертикальное. Пример: background-position: left top; размещает изображение в левом верхнем углу блока.
Для точного выравнивания можно использовать пиксели, проценты или ключевые слова. Например, background-position: 50% 100%; центрирует фон по горизонтали и прижимает к нижнему краю. Запись background-position: 20px 40px; смещает изображение на 20 пикселей вправо и 40 пикселей вниз.
При указании одного значения второе автоматически принимается равным center. Таким образом, background-position: right; будет аналогом background-position: right center;.
Чтобы добиться точного совмещения фона с контентом, удобно комбинировать background-position с background-size. Например, при значении background-size: contain; изображение не выходит за пределы блока, а позиционирование задаёт место его фиксации.
При работе с несколькими изображениями координаты указываются через запятую в том же порядке, что и файлы в background-image. Пример: background-position: left top, right bottom; размещает два слоя по противоположным углам блока.
Масштабирование и повтор изображения через background-size и background-repeat

Свойство background-size управляет размером фонового изображения. Значение auto сохраняет исходные размеры, cover масштабирует изображение так, чтобы оно полностью покрывало элемент, сохраняя пропорции, contain подстраивает изображение под размеры элемента без обрезки. Можно указывать точные размеры в пикселях или процентах, например: background-size: 200px 100px; или background-size: 50% 50%;.
Свойство background-repeat определяет, как изображение повторяется. Значения: repeat – повтор по горизонтали и вертикали; repeat-x – только по горизонтали; repeat-y – только по вертикали; no-repeat – повтор не происходит.
Комбинирование этих свойств позволяет гибко управлять визуальной подачей. Например, для плиточного узора используют background-repeat: repeat; с размером, кратным элементу. Для полноэкранного фона применяют background-size: cover; с background-repeat: no-repeat;.
Пример наглядной таблицы сочетаний:
| background-size | background-repeat | Описание |
|---|---|---|
| auto | repeat | Исходное изображение повторяется по всей области. |
| cover | no-repeat | Изображение масштабируется, полностью покрывая элемент без повторов. |
| contain | no-repeat | Изображение вписывается в элемент без обрезки, повтор не выполняется. |
| 100px 100px | repeat-x | Изображение фиксированного размера повторяется по горизонтали. |
| 50% 50% | repeat-y | Изображение занимает половину размеров элемента и повторяется вертикально. |
Добавление фонового изображения для разных состояний элемента
Фоновое изображение можно менять в зависимости от состояния элемента с помощью CSS-псевдоклассов. Например, для кнопки состояние наведения определяется через :hover, а нажатия – через :active.
Пример для кнопки:
button { background-image: url('normal.png'); }
button:hover { background-image: url('hover.png'); }
button:active { background-image: url('active.png'); }
Для ссылок часто используют состояния :link, :visited, :hover и :focus, чтобы задать разные фоны в зависимости от взаимодействия пользователя.
При смене фонового изображения учитывайте размер и позиционирование через background-size и background-position, чтобы изображение не искажалось при изменении состояния.
Для сложных эффектов допустимо использовать сочетание нескольких фоновых изображений через запятую, например: background-image: url('base.png'), url('overlay.png');. Каждый слой можно изменять отдельно для разных состояний.
Для интерактивных элементов на мобильных устройствах полезно учитывать :active и :focus, так как :hover может не срабатывать. В таких случаях задают отдельные изображения для быстрого отклика на касание.
Подключение изображений через CSS при использовании внешних стилей

Внешние CSS-файлы позволяют централизованно управлять фоновыми изображениями для нескольких страниц и элементов. Для подключения изображений используется свойство background-image с указанием пути через url().
Пример подключения внешнего CSS:
<link rel="stylesheet" href="styles.css">
Внутри styles.css настройка фонового изображения выглядит так:
.header {
background-image: url('images/header-bg.jpg');
background-repeat: no-repeat;
background-size: cover;
background-position: center;
}
Рекомендации при использовании внешних стилей:
- Указывать относительные пути к изображениям относительно CSS-файла.
- Использовать
background-sizeдля корректного масштабирования. - Применять
background-repeatтолько при необходимости повторения текстуры. - Комбинировать
background-positionс размерами контейнера для точного расположения. - Для нескольких фоновых слоёв использовать синтаксис через запятую:
.banner {
background-image: url('images/layer1.png'), url('images/layer2.png');
background-position: top left, bottom right;
background-repeat: no-repeat, no-repeat;
}
Использование внешних стилей позволяет уменьшить дублирование кода, ускоряет загрузку страниц и упрощает изменение фоновых изображений на всех связанных элементах одновременно.
Вопрос-ответ:
Как правильно указать путь к изображению в свойстве background-image?
В свойстве background-image путь к изображению задается внутри функции url(). Если изображение хранится в той же папке, что и CSS-файл, достаточно указать только имя файла: background-image: url("image.jpg");. Для изображений в других папках путь указывается относительно CSS-файла, например: background-image: url("../images/image.jpg");. Также можно использовать абсолютный путь с протоколом: background-image: url("https://example.com/image.jpg");.
Можно ли использовать одно изображение для разных состояний элемента, например hover и active?
Да, одно изображение можно использовать для нескольких состояний элемента. Для этого в CSS прописываются отдельные правила для псевдоклассов. Например: a { background-image: url("normal.jpg"); } a:hover { background-image: url("hover.jpg"); }. Если нужно, чтобы изображение оставалось одинаковым, можно просто не менять background-image в псевдоклассе.
Как сделать так, чтобы фоновое изображение занимало всю ширину и высоту блока?
Для растягивания изображения на весь блок используют свойство background-size со значением cover или 100% 100%. Пример: background-size: cover; — изображение масштабируется, сохраняя пропорции и покрывая блок полностью. Если указать background-size: 100% 100%;, изображение растянется по ширине и высоте без сохранения пропорций, что может исказить изображение.
Что делать, если фоновое изображение не отображается на сайте?
Сначала проверьте правильность пути к файлу и убедитесь, что файл действительно существует. Убедитесь, что CSS-файл подключен к HTML и правило применяется к нужному элементу. Если путь корректный, проверьте синтаксис: background-image: url("image.jpg");. Также стоит проверить настройки браузера и очистить кеш, так как старые версии CSS могут сохраняться.
