Как вставить изображение в HTML на фон: подробная инструкция

Пройдите тест, узнайте какой профессии подходите

Я предпочитаю
0%
Работать самостоятельно и не зависеть от других
Работать в команде и рассчитывать на помощь коллег
Организовывать и контролировать процесс работы

Для кого эта статья:

  • Веб-разработчики, ищущие улучшение своих навыков в работе с фоновыми изображениями.
  • Студенты и новички в области веб-разработки, желающие освоить основы HTML и CSS.
  • Профессионалы, заинтересованные в оптимизации производительности веб-сайтов через правильное использование фоновых изображений.

    Красивый фон может буквально преобразить ваш сайт, превратив скучную страницу в визуальный шедевр! 🎨 В 2025 году умение правильно работать с фоновыми изображениями — это не просто навык, а настоящее конкурентное преимущество для любого веб-разработчика. Я покажу вам, как добавить изображение на фон вашей HTML-страницы так, чтобы это выглядело профессионально и работало на всех устройствах. Независимо от вашего уровня — от новичка до продвинутого, вы найдете здесь все необходимые инструменты и техники.

Мечтаете создавать впечатляющие веб-интерфейсы с красивыми фоновыми изображениями и не только? 🚀 Курс «Веб-разработчик» с нуля от Skypro поможет вам освоить все тонкости HTML, CSS и JavaScript за 9 месяцев. Наши студенты не только изучают теорию, но и создают реальные проекты под руководством действующих разработчиков. После курса вы сможете уверенно создавать сайты любой сложности — от стильных лендингов до мощных веб-приложений!

Простые способы добавления фонового изображения в HTML

Существует несколько методов добавления фонового изображения на вашу веб-страницу. Каждый из них имеет свои преимущества и применяется в зависимости от конкретной задачи. Рассмотрим их по порядку: от самых простых до более продвинутых.

Кинга Идем в IT: пошаговый план для смены профессии

Метод 1: Использование атрибута style в HTML

Самый быстрый способ добавить фоновое изображение — использовать встроенные стили через атрибут style. Это отлично подходит для быстрого прототипирования или когда вам нужно добавить фон только к одному элементу:

Пример:

HTML
Скопировать код
<div style="background-image: url('images/background.jpg'); height: 300px; width: 100%;"></div>

Метод 2: Использование внешнего CSS файла

Более профессиональный и гибкий подход — использовать внешние CSS файлы. Это позволяет централизованно управлять стилями и делает код более чистым:

HTML-файл:

HTML
Скопировать код
<div class="hero-section"></div>

CSS-файл:

CSS
Скопировать код
.hero-section {
background-image: url('../images/hero-bg.jpg');
height: 500px;
background-repeat: no-repeat;
background-size: cover;
background-position: center;
}

Для удобства сравнения методов, рассмотрим таблицу их преимуществ и недостатков:

МетодПреимуществаНедостаткиКогда использовать
Встроенный styleБыстро применяется, не требует отдельных файловСмешивает контент и презентацию, трудно поддерживатьДля быстрых прототипов, тестирования
Внешний CSSРазделение контента и стилей, легкая поддержкаТребует дополнительный файлДля всех серьезных проектов
CSS в <head>Не требует внешних файлов, но разделяет контент и стилиУвеличивает размер HTML-документаДля небольших проектов с ограниченным CSS

Анна Соколова, старший веб-разработчик

Когда я только начинала обучать студентов работе с фоновыми изображениями, один из них постоянно сталкивался с проблемой: изображение либо не загружалось вообще, либо растягивалось неправильно. Мы потратили целый урок на отладку, пока не обнаружили, что он указывал относительный путь к файлу неправильно.

"Путь к изображению должен быть указан относительно CSS-файла, а не HTML-документа," – объяснила я ему. Мы исправили путь с url('images/bg.jpg') на url('../images/bg.jpg'), и магическим образом всё заработало! Это был момент озарения для всей группы, и с тех пор я всегда подчеркиваю важность правильного указания путей к ресурсам.

Синтаксис фоновых изображений в CSS для разных задач

Овладев базовыми способами добавления фона, давайте углубимся в синтаксис CSS-свойств для более тонкой настройки фоновых изображений. 🔍

Управление размером изображения

Свойство background-size определяет, как изображение должно масштабироваться на странице:

  • cover – изображение масштабируется, чтобы полностью покрыть контейнер (некоторые части могут быть обрезаны)
  • contain – изображение масштабируется, чтобы полностью поместиться внутри контейнера (могут появиться пустые области)
  • auto – изображение сохраняет свои исходные размеры
  • конкретные значения – можно указать точные размеры (например, 300px 200px или 50% 100%)

Пример:

CSS
Скопировать код
.hero {
background-image: url('hero.jpg');
background-size: cover;
}

Позиционирование изображения

С помощью background-position вы можете указать, как изображение должно быть размещено в контейнере:

  • ключевые слова – center, top, right, bottom, left или их комбинации (например, top right)
  • проценты – 0% 0% (левый верхний угол), 100% 100% (правый нижний угол)
  • пиксели – точные координаты (например, 10px 20px)

Пример:

CSS
Скопировать код
.profile-card {
background-image: url('pattern.jpg');
background-position: center;
}

Повторение изображения

Свойство background-repeat определяет, будет ли изображение повторяться:

  • repeat – повторяется по горизонтали и вертикали (по умолчанию)
  • repeat-x – повторяется только по горизонтали
  • repeat-y – повторяется только по вертикали
  • no-repeat – изображение не повторяется
  • space – изображение повторяется, распределяя свободное пространство между копиями
  • round – изображение повторяется, при необходимости масштабируясь, чтобы избежать обрезки

Пример:

CSS
Скопировать код
.pattern-bg {
background-image: url('subtle-pattern.png');
background-repeat: repeat-x;
}

Краткий синтаксис background

Для экономии кода можно использовать краткую запись свойства background, которая объединяет несколько свойств:

Пример:

CSS
Скопировать код
.section {
background: url('bg.jpg') no-repeat center/cover;
}

Это эквивалентно следующему коду:

CSS
Скопировать код
.section {
background-image: url('bg.jpg');
background-repeat: no-repeat;
background-position: center;
background-size: cover;
}

Оптимизация фоновых изображений для быстрой загрузки

Красивый фон не должен замедлять ваш сайт! В 2025 году скорость загрузки страниц критически важна как для SEO, так и для удержания пользователей. 🚀

Михаил Лебедев, технический руководитель

В прошлом году мы работали над обновлением сайта крупного онлайн-магазина. Клиент настаивал на использовании высококачественных фоновых изображений на главной странице, но после внедрения всех правок время загрузки выросло до 8 секунд – катастрофа для электронной коммерции!

"Давайте попробуем оптимизировать ваши фоны, а не жертвовать ими полностью," – предложил я. Мы сжали изображения, конвертировали их в WebP, добавили прогрессивную загрузку и правильное кэширование. Время загрузки упало до 1.8 секунды, а через месяц конверсия выросла на 14.5%. Клиент был в восторге – красивый дизайн и производительность могут сосуществовать, если подойти к вопросу технически грамотно.

Выбор оптимального формата изображения

Современные форматы значительно эффективнее традиционных:

ФорматПреимуществаНедостаткиРекомендации к использованию
WebPНа 25-35% меньше JPEG при том же качестве, поддерживает прозрачностьНе поддерживается в устаревших браузерахИдеален для большинства фоновых изображений в 2025 году
AVIFНаилучшее сжатие (до 50% компактнее WebP)Ограниченная поддержка браузерамиДля продвинутых проектов с fallback-опциями
JPEGУниверсальная совместимостьБольший размер, нет прозрачностиДля фотографических изображений, если важна совместимость
PNGПоддержка прозрачности, высокое качествоБольшой размер для фотографийДля изображений с прозрачностью или графики
SVGВекторный формат, идеален для масштабированияНе подходит для фотореалистичных изображенийДля паттернов, иконок и геометрических фонов

Техники оптимизации размера файлов

  • Сжатие без потерь – используйте инструменты как TinyPNG, ImageOptim или Squoosh для сжатия изображений без видимого ухудшения качества (экономия 20-70%)
  • Правильное масштабирование – не загружайте изображения размером 2500px, если максимальная ширина контейнера 1200px
  • Удаление метаданных – геолокация, данные камеры и другие метаданные могут занимать до 15% от размера файла
  • CSS-градиенты вместо изображений – для простых фонов рассмотрите возможность использования CSS-градиентов, особенно для создания эффекта наложения

Реализация ленивой загрузки

Для фоновых изображений, находящихся "ниже сгиба", используйте ленивую загрузку:

Решение с JavaScript:

JS
Скопировать код
document.addEventListener("DOMContentLoaded", function() {
const lazyBackgrounds = [].slice.call(document.querySelectorAll(".lazy-background"));

if ("IntersectionObserver" in window) {
let lazyBackgroundObserver = new IntersectionObserver(function(entries, observer) {
entries.forEach(function(entry) {
if (entry.isIntersecting) {
entry.target.style.backgroundImage = `url(${entry.target.dataset.background})`;
lazyBackgroundObserver.unobserve(entry.target);
}
});
});

lazyBackgrounds.forEach(function(lazyBackground) {
lazyBackgroundObserver.observe(lazyBackground);
});
}
});

HTML:

HTML
Скопировать код
<div class="lazy-background" data-background="large-image.jpg"></div>

Адаптивные фоновые изображения для разных устройств

В 2025 году ваш сайт просматривают на устройствах с разрешениями от 360px до 4K и выше. Каждый пиксель экрана имеет значение, и ваши фоновые изображения должны выглядеть идеально везде. 📱💻🖥️

Базовая адаптивность с медиа-запросами

Используйте media queries для загрузки разных изображений в зависимости от размера экрана:

CSS:

CSS
Скопировать код
.hero-section {
background-image: url('mobile-bg.jpg');
background-repeat: no-repeat;
background-size: cover;
}

@media (min-width: 768px) {
.hero-section {
background-image: url('tablet-bg.jpg');
}
}

@media (min-width: 1200px) {
.hero-section {
background-image: url('desktop-bg.jpg');
}
}

Адаптивное позиционирование

Иногда важнее не менять само изображение, а адаптировать его позиционирование:

CSS:

CSS
Скопировать код
.profile-section {
background-image: url('team-photo.jpg');
background-size: cover;
background-position: center top;
}

@media (max-width: 992px) {
.profile-section {
background-position: 70% center; /* Смещаем фокус изображения на мобильных */
}
}

Техника множественных фонов

CSS позволяет использовать несколько фоновых изображений одновременно, что дает интересные возможности для адаптивного дизайна:

CSS:

CSS
Скопировать код
.section-with-overlay {
background-image: 
linear-gradient(rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.3)),
url('background.jpg');
background-size: cover;
background-position: center;
}

@media (max-width: 768px) {
.section-with-overlay {
background-image: 
linear-gradient(rgba(0, 0, 0, 0.8), rgba(0, 0, 0, 0.5)),
url('background-mobile.jpg');
}
}

CSS-переменные для гибкой адаптивности

Используйте CSS-переменные для более сложных адаптивных схем:

CSS:

CSS
Скопировать код
:root {
--main-bg-image: url('desktop.jpg');
}

@media (max-width: 992px) {
:root {
--main-bg-image: url('tablet.jpg');
}
}

@media (max-width: 576px) {
:root {
--main-bg-image: url('mobile.jpg');
}
}

.hero {
background-image: var(--main-bg-image);
background-size: cover;
}

art direction vs resolution switching

Существует два основных подхода к адаптивным фоновым изображениям:

  • Art Direction – использование разных фрагментов изображения для разных размеров экрана (например, более крупный план на мобильных устройствах)
  • Resolution Switching – использование одного и того же изображения с разным разрешением для разных устройств

Тест на профориентацию от Skypro поможет понять, подходит ли вам работа веб-разработчика! 🧩 Вы уже научились вставлять фоновые изображения в HTML — это отличный первый шаг, но готовы ли вы сделать веб-разработку своей профессией? Пройдите бесплатный тест и узнайте, насколько ваш склад мышления, личностные качества и предпочтения соответствуют работе в этой захватывающей области. Результаты помогут определить ваши сильные стороны и потенциальные направления для карьерного роста!

Распространенные ошибки при работе с фоном в HTML

Даже опытные разработчики время от времени допускают ошибки при работе с фоном. Давайте рассмотрим самые распространенные из них и способы их избежать. 🛑

Неправильные пути к изображениям

Наиболее частая ошибка — неправильно указанные пути к файлам изображений:

  • Абсолютные vs относительные пути – помните, что в CSS относительные пути отсчитываются от местоположения CSS-файла, а не HTML-документа
  • Регистр имен файлов – на Linux-серверах регистр имеет значение (background.jpg и Background.jpg — разные файлы)
  • Отсутствие кавычек вокруг URL – хотя технически кавычки не всегда обязательны, их отсутствие может вызвать проблемы с путями, содержащими пробелы

Неправильно:

CSS
Скопировать код
.hero {
background-image: url(images/background.jpg); /* Путь относится к HTML-файлу */
}

Правильно:

CSS
Скопировать код
.hero {
background-image: url('../images/background.jpg'); /* Путь от CSS-файла к изображению */
}

Проблемы с размерами контейнера

Фоновое изображение не будет видно, если его контейнер не имеет указанных размеров:

  • Отсутствие высоты – если элемент не содержит текста или других элементов, его высота по умолчанию может быть равна нулю
  • Относительное позиционирование родительских элементов – может влиять на то, как рассчитываются размеры
  • Коллапс маржинов – может привести к неожиданным размерам контейнера

Неправильно:

HTML
Скопировать код
<div class="hero"></div>
CSS
Скопировать код
.hero {
background-image: url('hero.jpg');
background-size: cover;
/* Отсутствие высоты! */
}

Правильно:

HTML
Скопировать код
<div class="hero"></div>
CSS
Скопировать код
.hero {
background-image: url('hero.jpg');
background-size: cover;
height: 500px; /* или другое значение */
}

Недооценка мобильных устройств

Использование одного и того же большого изображения для всех устройств — серьезная ошибка:

  • Избыточное разрешение – загрузка изображения 2500px на мобильное устройство с шириной экрана 375px пустая трата ресурсов
  • Неправильное кадрирование – широкие пейзажные фото могут плохо смотреться на вертикальных мобильных экранах
  • Отсутствие fallback-опций – игнорирование старых браузеров, которые не поддерживают современные форматы изображений

Игнорирование проблем доступности

Фоновые изображения требуют внимания к доступности:

  • Недостаточный контраст – текст на фоновых изображениях должен иметь достаточный контраст
  • Отсутствие альтернативной информации – так как фоновые изображения добавляются через CSS, они не имеют атрибута alt
  • Анимированные фоны – могут мешать пользователям с вестибулярными расстройствами

Решение проблемы контраста:

CSS
Скопировать код
.section-with-text {
background-image: url('dark-image.jpg');
background-size: cover;
color: white; /* Светлый текст на темном фоне */
}

/* Или добавление полупрозрачного наложения */
.section-with-text {
position: relative;
}
.section-with-text::before {
content: '';
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-color: rgba(0, 0, 0, 0.5); /* Темное наложение */
z-index: 1;
}
.section-with-text > * {
position: relative;
z-index: 2; /* Контент над наложением */
}

Освоение работы с фоновыми изображениями в HTML и CSS откроет перед вами новые горизонты в создании визуально привлекательных веб-проектов. Начните с простых приемов, постепенно добавляя продвинутые техники оптимизации и адаптивности. Помните, что идеальное фоновое изображение — это не только красивая картинка, но и оптимизированный, быстро загружающийся ресурс, который отлично выглядит на любом устройстве. Экспериментируйте с различными подходами, и пусть ваши сайты всегда выделяются среди других своим профессиональным и продуманным дизайном.