HTML Фоновое изображение

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

Фоновое изображение можно задать почти любому элементу HTML.


Задание фонового изображения элементу HTML

Чтобы установить фоновый рисунок для элемента HTML, используется HTML атрибут style и свойство CSS background-image:

Пример:
Добавляем фоновый рисунок к элементу <div>:

<div style="background-image: url('img_girl.jpg'); width: 300px; height: 200px;">Содержание блока</div>

Более удобным и правильным вариантом считается задание фонового изображения через элемент <style> в разделе <head>:

Пример:
Определим фоновый рисунок в элементе <style>:

<!DOCTYPE html>
<html lang="ru">
<head>
  <meta charset="UTF-8">
  <title>Фоновые изображения</title>
  <style>
    p {
      background-image: url('img_girl.jpg');
    }
  </style>
</head>
<body>
  <h1>Заголовок страницы</h1>
  <p>Основной текст страницы.</p>
</body>
</html>

Фоновое изображения для всей страницы

Если вы хотите, чтобы фоновым изображением была покрыта вся страница целиком, задайте фоновый рисунок для элемента <body>:

Пример:
Устанавливаем фоновый рисунок для всей страницы:

<style>
body {
  background-image: url('img_girl.jpg');
}
</style>

Внешний CSS-файл

Часто встречается ситуация, когда таблица стилей вынесена в отдельный файл (обычно с расширением .css):

<!DOCTYPE html>
<html lang="ru">
<head>
  <meta charset="UTF-8">
  <title>Фоновые изображения</title>
  <link rel="stylesheet" href="styles.css">
</head>
<body>
  <!-- Содержимое страницы -->
</body>
</html>

А в файле styles.css прописывается следующее правило:

body {
  background-image: url('../images/bg.png');
}

Свойства для работы с фоновыми изображениями

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

1. background-color — Цвет фона

Иногда бывает удобно комбинировать изображение с цветом фона, создавая интересные визуальные эффекты:

body {
  background-color: #f5f5f5;
  background-image: url('images/bg.png');
}

2. background-position — Позиционирование фонового изображения

Это свойство контролирует расположение фонового изображения внутри элемента. Оно может принимать значения в виде координат (в пикселях, процентах или абсолютных единицах измерения), либо ключевые слова:

  • Процентные единицы: определяют позицию изображения относительно родительского контейнера.
  • Абсолютные единицы: задают координаты (например, верх, лево, право, низ).
  • Ключевые слова: можно использовать комбинации таких значений, как top, center, bottom, left, right.

Примеры:

.element {
  background-image: url('bg.png');
  background-position: 50% 50%; /* центр изображения */
}

.anotherElement {
  background-image: url('bg.png');
  background-position: right bottom; /* правая нижняя позиция */
}

3. background-repeat — Повторение фонового изображения

Определяет, каким образом изображение должно повторяться по оси X и Y:

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

Пример:

.section {
  background-image: url('pattern.png');
  background-repeat: repeat-x; /* только по горизонтали */
}

4. background-size — Размер фонового изображения

Контролирует масштабирование фонового изображения. Может принимать следующие значения:

  • auto: сохраняет оригинальные пропорции изображения.
  • contain: уменьшает изображение, сохраняя пропорции, так, чтобы оно помещалось в область целиком.
  • cover: увеличивает изображение настолько, насколько нужно, чтобы покрыть всю область, сохранив пропорции.
  • ширина и высота: конкретные значения ширины и высоты (в px, %, em и т.п.)

Пример:

.container {
  background-image: url('bg.jpg');
  background-size: cover; /* Картинка растянута на весь контейнер */
}

5. background-attachment — Фиксация фонового изображения

Управляет поведением фонового изображения при скроллинге страницы:

  • scroll: изображение перемещается вместе с контентом.
  • fixed: изображение остаётся неподвижным относительно окна браузера.
  • local: фон движется синхронно с внутренним содержимым блока.

Пример:

body {
  background-image: url('stars.jpg');
  background-attachment: fixed; /* Звезды остаются статичными при прокручивании */
}

Кроме этого CSS предоставляет большое количество других дополнительных свойств для точного управления поведением фоновых изображений в HTML-документе.


Повтор фона

Если ваше изображение меньше размера элемента, оно повторится горизонтально и вертикально до конца элемента:

Пример:
Повторение фонового рисунка:

body {
  background-image: url('example_img_girl.jpg');
}


Чтобы предотвратить повторение фонового изображения, установите значение свойства background-repeat равным no-repeat:

Пример:
Отключение повтора фонового рисунка:

body {
  background-image: url('example_img_girl.jpg');
  background-repeat: no-repeat;
}

Полное покрытие фона

Если требуется, чтобы фоновый рисунок покрывал весь элемент, используйте свойство background-size со значением cover.

Кроме того, чтобы убедиться, что элемент всегда покрыт полностью, добавьте свойство background-attachment со значением fixed:

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

Пример:
Покрытие фона без растяжения:

body {
  background-image: url('img_girl.jpg');
  background-repeat: no-repeat;
  background-attachment: fixed;
  background-size: cover;
}

Растяжение фона

Если нужно, чтобы фон растягивался, заполняя весь элемент, задайте значение свойства background-size равным 100% 100%:

Попробуйте изменить размеры окна браузера, и вы увидите, что изображение будет растягиваться, постоянно покрывая весь элемент.

Пример:
Растягивание фона на весь элемент:

body {
  background-image: url('img_girl.jpg');
  background-repeat: no-repeat;
  background-attachment: fixed;
  background-size: 100% 100%;
}
To top