
CSS позволяет добавлять изображения на веб-страницу без изменения HTML-разметки. Основной инструмент для этого – свойство background-image, которое принимает URL файла. Можно использовать как абсолютный путь, например https://example.com/image.jpg, так и относительный, указывая путь от текущего CSS-файла, например images/photo.png.
Для управления отображением изображения применяются свойства background-size, background-position и background-repeat. background-size позволяет масштабировать картинку до нужных размеров, background-position задает точку привязки изображения, а background-repeat контролирует повторение по горизонтали и вертикали.
Использование изображений через CSS особенно удобно для декоративных элементов и интерактивных состояний. Например, для кнопок можно задавать разные изображения для обычного состояния и при наведении с помощью псевдоклассов :hover и :active. Такой подход сохраняет чистоту HTML и упрощает управление визуальной частью сайта.
При вставке изображений важно учитывать размер файла и формат. Оптимизированные PNG, JPEG или WebP сокращают время загрузки страницы. Для фоновых изображений с прозрачностью предпочтительнее PNG или WebP, а для фотографий – JPEG. Указание точных размеров и позиции через CSS позволяет избежать искажений и ускоряет рендеринг.
Использование свойства background-image для добавления картинки

Свойство background-image позволяет вставлять изображение в элемент через CSS. Формат записи следующий: background-image: url(‘путь_к_файлу’);. Путь может быть абсолютным, например https://site.com/images/photo.jpg, или относительным относительно CSS-файла, например ../assets/bg.png.
Для нескольких изображений можно использовать список через запятую: background-image: url(‘img1.png’), url(‘img2.png’);. Первое изображение будет находиться поверх последующих, что позволяет создавать многослойные фоны без изменения HTML.
Если изображение не загружается, браузер оставляет фон пустым, поэтому рекомендуется сочетать background-image с background-color для визуальной подстраховки. Например, background-color: #f0f0f0; обеспечит нейтральный фон при недоступном файле.
При работе с background-image важно учитывать размер контейнера. Если размеры изображения и элемента не совпадают, применяются свойства background-size и background-repeat, чтобы контролировать масштабирование и повторение картинки.
Подключение изображения по URL с полным и относительным путем
Для вставки изображения в CSS можно использовать полный URL или относительный путь. Полный URL указывает полный адрес файла, например: background-image: url(‘https://example.com/images/photo.jpg’);. Такой способ подходит для внешних ресурсов и изображений, размещенных на другом домене.
Относительный путь указывает местоположение файла относительно CSS-файла. Например, background-image: url(‘../assets/bg.png’); загрузит изображение из папки выше текущего файла. Относительные пути удобны для локальных проектов и позволяют изменять структуру сайта без корректировки каждого URL.
При работе с относительными путями важно учитывать точное расположение CSS-файла и изображений. Ошибка в количестве уровней папок приведет к неотображению картинки. Рекомендуется использовать одинаковую структуру для CSS и медиа-файлов, чтобы минимизировать ошибки при подключении.
Для тестирования доступности URL можно временно вставить его в браузер. Если файл открывается напрямую, его путь корректен. Для внешних URL учитывайте протокол (http или https), чтобы избежать блокировки браузером из-за смешанного контента.
Настройка размера изображения с помощью background-size

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

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

Свойство background-repeat управляет повторением фонового изображения внутри элемента. Возможные значения позволяют контролировать направление и количество повторов:
- repeat – изображение повторяется по горизонтали и вертикали (значение по умолчанию).
- repeat-x – повтор только по горизонтали.
- repeat-y – повтор только по вертикали.
- no-repeat – изображение отображается один раз без повторов.
- space – повторяются полностью целые изображения с равными промежутками между ними.
- round – изображение масштабируется, чтобы полностью заполнить область, повторяясь целыми блоками.
Для нескольких фоновых изображений можно задавать повторение через запятую: background-repeat: no-repeat, repeat-x;. Первое изображение не повторяется, второе повторяется только по горизонтали.
Рекомендуется проверять визуальное выравнивание элементов, особенно при использовании space и round, чтобы избежать искажений и лишних промежутков между блоками изображения.
Прозрачные и смешанные слои с изображением через opacity и linear-gradient

Для создания полупрозрачных или комбинированных фонов используют opacity и linear-gradient. Эти инструменты позволяют накладывать цветовые слои на изображение без изменения HTML.
Примеры использования:
- opacity регулирует прозрачность всего элемента: opacity: 0.5;. Значение 0 делает элемент полностью прозрачным, 1 – полностью непрозрачным.
- linear-gradient создаёт плавный переход цветов поверх изображения: background-image: linear-gradient(rgba(0,0,0,0.3), rgba(0,0,0,0.3)), url(‘image.jpg’);. Первый слой задаёт полупрозрачный градиент, второй – само изображение.
- Можно комбинировать несколько градиентов и изображений через запятую: background-image: linear-gradient(…), linear-gradient(…), url(…);.
Рекомендации по применению:
- Используйте rgba для градиента, чтобы сохранить прозрачность и цвет одновременно.
- Проверяйте визуальное сочетание слоев на разных размерах экрана.
- Для адаптивных элементов комбинируйте linear-gradient с background-size: cover; для корректного заполнения области.
Добавление изображений для отдельных состояний элементов через :hover и :active
С помощью псевдоклассов :hover и :active можно менять фоновые изображения элементов при взаимодействии пользователя. Например, кнопка может менять фон при наведении курсора или при нажатии.
Пример записи:
button { background-image: url(‘normal.png’); }
button:hover { background-image: url(‘hover.png’); }
button:active { background-image: url(‘active.png’); }
Рекомендации по использованию:
- Выбирайте изображения одинакового размера для разных состояний, чтобы элемент не изменял размеры при смене фона.
- Для плавного перехода используйте transition: transition: background-image 0.3s ease;.
- Комбинируйте с background-position и background-size, чтобы контролировать точное расположение и масштабирование изображений.
- Проверяйте отображение на всех браузерах, так как старые версии могут некорректно обрабатывать смену фонового изображения при :hover или :active.
Вопрос-ответ:
Как правильно указать путь к изображению в CSS?
Для вставки изображения через CSS используют свойство background-image. Путь к файлу можно задавать абсолютный, например https://site.com/images/photo.jpg, или относительный, например ../assets/bg.png. Абсолютные URL подходят для внешних ресурсов, относительные — для локальных файлов и проектов с собственной структурой каталогов.
Можно ли использовать несколько фоновых изображений одновременно?
Да, CSS позволяет накладывать несколько изображений через запятую: background-image: url(‘img1.png’), url(‘img2.png’);. Первое изображение будет отображаться поверх второго. Такой подход полезен для создания многослойных декоративных фонов без изменения HTML-разметки.
Как изменить размер фонового изображения без редактирования файла?
Для контроля размера используется свойство background-size. Значение cover масштабирует картинку, чтобы она полностью покрывала элемент, contain — вписывает изображение целиком без обрезки. Можно задавать точные размеры в пикселях или процентах: background-size: 200px 150px; или 50% 100%;.
Как сделать так, чтобы изображение повторялось только по горизонтали или вертикали?
Свойство background-repeat управляет повторением фонового изображения. Значения repeat-x повторяет по горизонтали, repeat-y — по вертикали, no-repeat — отображает изображение один раз. Для комбинирования нескольких фоновых изображений можно задавать повторение через запятую, например: background-repeat: no-repeat, repeat-x;.
Как изменить фон элемента при наведении курсора или нажатии?
Для этого используют псевдоклассы :hover и :active. Например, для кнопки можно задать разные изображения: button { background-image: url(‘normal.png’); }, button:hover { background-image: url(‘hover.png’); }, button:active { background-image: url(‘active.png’); }. Для плавного перехода добавляют transition: background-image 0.3s ease;.
