Гид по технологиям

Добавление фонового изображения в CSS: шаг за шагом

6 min read Веб-разработка Обновлено 30 Dec 2025
Фоновое изображение в CSS — пошаговое руководство
Фоновое изображение в CSS — пошаговое руководство

Фоновое изображение страницы, пример неба над сайтом

Что вы получите из этой статьи

  • Понятное объяснение, что такое CSS и зачем он нужен.
  • Практические примеры: встроенные стили, внешний CSS-файл, как задать background-image и управлять повторением и масштабом.
  • Советы по читаемости, альтернативные подходы, контроль совместимости и чек-листы для разных ролей.

Что такое CSS (коротко)

CSS — это Cascading Style Sheets, каскадные таблицы стилей. Однострочно: CSS описывает, как элементы HTML должны выглядеть (цвет, отступы, фон, расположение).

Важно: HTML отвечает за структуру документа, CSS — за внешний вид.

1. Базовая HTML-страница для экспериментов

Чтобы применить стили, нужна простая страница. Вот минимальный пример, который мы будем улучшать:


  
  
  
    

Hello World

Пояснения к тегам:

  • html — корневой элемент документа.
  • head — метаданные и подключения (скрипты, стили), обычно не отображаются напрямую.
  • body — видимая часть страницы.
  • p — абзац текста.

2. Быстрая стилизация с помощью встроенных стилей (inline)

Можно сразу в теге задать CSS через атрибут style. Для примера добавим рамку:


  
  
  
    

Hello World

Затем добавим отступы (padding) и выравнивание по центру:


  
  
  
    

Hello World

Примечание: встроенные стили подходят для быстрых тестов, но усложняют поддержку.

3. Перенос стилей в секцию

Hello World

Короткое объяснение селекторов:

  • p — применяет правила ко всем абзацам.
  • #ourParagraph — применяет правила к элементу с id=”ourParagraph”.

Важно: id уникален на странице.

4. Вынесенный CSS-файл

Если стили используются на нескольких страницах — храните их в отдельном файле, например ourCSSfile.css. Это упрощает поддержку и обновления.

ourCSSfile.css:

p {
  text-align: center;
}
#ourParagraph {
  border-style: solid;
  padding: 30px;
}

Подключение в HTML:


  
    
  
  
    

Hello World

Совет: используйте относительные пути аккуратно — путь зависит от расположения HTML-файла.

5. Добавляем фон к странице: background-image

Чтобы задать фоновое изображение для всей страницы, стилизуем тег body. Пример в CSS-файле:

body {
  background-image: url("sky.jpg");
}
p {
  text-align: center;
}
#ourParagraph {
  border-style: solid;
  padding: 30px;
}

Пояснение синтаксиса:

  • background-image указывает URL изображения. Внутри url(“”) можно поместить относительный или абсолютный путь.
  • строка должна заканчиваться точкой с запятой.

Пример визуальной иллюстрации:

Пример фонового изображения в CSS

6. Управление повторением и масштабом фона

По умолчанию маленькие изображения повторяются (tile). Чтобы отключить повторение, добавьте:

body {
  background-image: url("sky.jpg");
  background-repeat: no-repeat;
}

Чтобы заставить изображение растягиваться на всю область, есть два варианта:

  • background-size: 100% 100%; — растянет по ширине и высоте (может исказить пропорции).
  • background-size: cover; — масштабирует изображение, сохраняя пропорции, так чтобы оно покрывало весь контейнер (часть изображения может быть обрезана).

Рекомендация: используйте background-size: cover; для фонов, где важно сохранить пропорции.

7. Улучшаем читаемость: фон для блока с текстом

Если фон делает текст трудночитаемым, задайте фон для текстового блока (например, белый фон для нашего абзаца):

body {
  background-image: url("sky.jpg");
}
#ourParagraph {
  background-color: white;
  border-style: solid;
  padding: 30px;
}

Пример: белый фон для абзаца

Совет: используйте semi-transparent фоны (rgba) для плавного сочетания:

#ourParagraph {
  background-color: rgba(255,255,255,0.9); /* белый с прозрачностью */
}

Альтернативные подходы к фону

  • Тег в разметке: когда изображение — важный контент (не декоративный). Тогда используйте и элементы layout (object-fit) для адаптивности.
  • CSS background с градиентами: background-image: linear-gradient(…) для декоративных переходов без изображений.
  • и srcset: для адаптивных изображений, когда нужно подгружать разные файлы в зависимости от экрана.

Когда использовать каждую опцию:

  • Декоративный фон — CSS background.
  • Семантически важное изображение — или .

Ментальные модели и эвристики

  • Слой фона находится «под» контентом: фон -> блоки -> текст.
  • Используйте «cover» для полного покрытия и «contain» для полного видимого изображения без обрезки.
  • Минимизируйте размер фоновых изображений для скорости: компромисс между качеством и производительностью.

Практическая шпаргалка (cheat sheet)

  • Отключить повторение: background-repeat: no-repeat;
  • Покрыть весь контейнер: background-size: cover;
  • Центрировать фон: background-position: center center;
  • Несколько фонов: background-image: url(a.png), url(b.png);
  • Быстрая запись (шортхенд): background: url(“sky.jpg”) center/cover no-repeat fixed;

Примеры использования shorthands

/* эквивалентно нижеописанным свойствам */
body {
  background: url("sky.jpg") center/cover no-repeat fixed;
}

Советы по производительности и компрессии

  • Используйте форматы WebP/AVIF там, где это поддерживается, для меньшего веса файлов.
  • Подбирайте размеры изображений: для десктопа — 1920px шириной, для мобильных — 720–1080px.
  • Настройте кэширование на сервере (Cache-Control) и используйте CDN для глобального доступа.

Важно: не указывайте слишком большие изображения для мобильных пользователей.

Совместимость и запасные варианты

  • Для старых браузеров: используйте прогрессивное улучшение — простая сплошная заливка как запасной вариант (background-color).
  • Для форматов WebP предоставьте запасной JPG/PNG через picture или серверную логику.

Пример: fallback

body {
  background-color: #87CEEB; /* небо — запасной вариант */
  background-image: url("sky.jpg");
}

Роль-ориентированные чек-листы

  • Дизайнер:
    • Подготовить изображения нужных размеров (desktop/mobile/tablet).
    • Уточнить, декоративно ли изображение.
  • Фронтенд-разработчик:
    • Подключить фон в CSS, проверить background-size и repeat.
    • Настроить fallback и кэширование.
  • Контент-редактор:
    • Проверить читаемость текста на фоне; при необходимости запросить overlay или фон для блока текста.

Критерии приёмки

  • Фоновое изображение загружается и отображается на целевых экранах.
  • Изображение не повторяется, если это не задумано.
  • Текст читается: контраст соответствует требованиям доступности (WCAG) или визуально очевиден.
  • Производительность: страница не загружается заметно дольше из-за фоновых изображений.

Тест-кейсы и приёмка

  • Открыть страницу в ширине 320px, 768px, 1366px, 1920px — фон корректно покрывает экран или ведёт себя согласно ожиданиям (cover/contain).
  • Отключить CSS — у пользователя остаётся запасной фон-цвет (background-color).
  • Медленное соединение: проверить, что текст доступен до загрузки изображений.

Примеры ошибок и когда это может не работать

  • Относительный путь указан неверно — фон не загрузится (404).
  • Использование очень большого изображения без оптимизации — значительное замедление загрузки.
  • Неправильное сочетание background-size и background-position — важная часть изображения может быть обрезана на разных экранах.

Миграция и совместимость: советы

  • При переходе с inline-стилей на внешний CSS: убедитесь, что specificity (приоритет селекторов) остаётся корректным.
  • При добавлении WebP — предоставьте fallback через picture или серверный content-negotiation.

Факт-бокс — полезные ориентиры

  • Типичные ширины макетов: 375px (мобильный), 768px (планшет), 1366–1920px (десктоп).
  • Рекомендуемые размеры фоновых изображений: 1200–1920 px по ширине для десктопа; 720–1080 px для мобильных.
  • Форматы: WebP и AVIF дают лучшую компрессию, но не у всех браузеров есть поддержка.

Короткое объявление (100–200 слов)

Добавление фона к веб-странице — простой и эффективный способ улучшить визуальную привлекательность сайта. В этой инструкции мы показали, как корректно подключить фоновое изображение через CSS, управлять повторением и масштабированием, а также сохранить читабельность текста. Вы узнаете, когда лучше использовать CSS-фон, а когда — тег , как оптимизировать изображения для скорости и как обеспечить запасной вариант для старых браузеров. Руководство содержит практические примеры кода, чек-листы для дизайнера и разработчика, а также критерии приёмки для тестирования. Начните с простой HTML-страницы, вынесите стили в отдельный файл и постепенно улучшайте: добавьте cover, отключите повторение и примените semi-transparent блоки для текста. Это займёт немного времени, но заметно улучшит UX вашего сайта.

Заключение

Добавление фонового изображения — базовая, но важная техника веб-разработки. Начните с простого примера, затем улучшайте: внешние стили, оптимизация изображений, responsive-решения и резервные варианты. Проверяйте читаемость и производительность, используйте фон осознанно — как средство усилить коммуникацию, а не как препятствие для пользователей.

Важно: всегда тестируйте на реальных устройствах и учитывайте скорость интернета целевой аудитории.


Если нужно, могу подготовить готовые адаптивные шаблоны CSS для вашего проекта или помочь подобрать оптимальный формат изображений под конкретную аудиторию.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

iOS 10: руководство по новым функциям iMessage
Технологии

iOS 10: руководство по новым функциям iMessage

3D Benchy — тест и калибровка 3D‑принтера
3D-печать

3D Benchy — тест и калибровка 3D‑принтера

Как избежать мошенничества на сайтах знакомств
Интернет-безопасность

Как избежать мошенничества на сайтах знакомств

Как стать сценаристом анимации
Карьера

Как стать сценаристом анимации

Как отключить вибрацию и звуки на Xbox
Xbox

Как отключить вибрацию и звуки на Xbox

Raspberry Pi как домашний сервер
DevOps

Raspberry Pi как домашний сервер