Encodera

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.

Как поставить картинку на фон

Короткий ответ

Укажите файл в background-image, а background-size: cover растянет его на весь блок без искажений:

<div style="height: 160px; background-image: url('/media/photo-800x500.jpg'); background-size: cover; background-position: center;"></div>

background-position: center выбирает, какая часть картинки останется видна, если она обрезается.

Короткая запись

Все свойства фона умещаются в одно background. Размер пишут через косую черту после позиции:

<div style="display: grid; place-items: center; height: 160px; background: steelblue url('/media/photo-800x500.jpg') center / cover no-repeat; color: white; font-size: 24px;">
  Spring sale
</div>

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

Узор из маленькой картинки

Без cover картинка повторяется по всему блоку. Размер плитки задаёт background-size:

<div style="height: 120px; background: url('/media/photo-200x200.jpg') 0 0 / 60px;"></div>

Когда фон, а когда img

Фоном делают украшение. Если картинка несёт смысл — фото товара, схема, портрет, — нужен <img> с alt: фон не виден программам чтения с экрана и поисковикам.

Частая ошибка

Задают фон пустому блоку без высоты и ничего не видят. У фона нет своего размера: <div> без содержимого имеет высоту 0, и картинку просто не на чем показать. Задайте height, min-height или aspect-ratio.

Функции из этого ответа

  • background-image — Одна или несколько фоновых картинок: файлы или градиенты.
  • background-size — Размер фоновой картинки.
  • background-position — Где внутри блока находится фоновая картинка.
  • background-repeat — Повторяется ли фоновая картинка, чтобы заполнить блок.
  • background — Сокращённая запись всех свойств фона: цвета, картинки, положения, размера и повторения.

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.