← Все вопросы

Как задать картинку фоном для блока в CSS?

Задан 12 месяцев назад821 просмотров3 ответа
13

Хочу поставить картинку фоном на секцию (на всю ширину, чтобы красиво растягивалась и не повторялась). Какие свойства использовать?

3 ответа

25
✓ Принятый ответ — помог автору

Через свойство background (или набор background-*):

.hero {
  background-image: url('images/bg.jpg');
  background-size: cover;     /* заполнить весь блок без искажений */
  background-position: center;/* центрировать картинку */
  background-repeat: no-repeat;
  min-height: 400px;          /* блоку нужна высота, иначе фона не видно */
}

Ключевое:

  • background-size: cover — картинка покрывает весь блок, лишнее обрезается (для «растянуть на всю ширину» это то, что нужно). contain — наоборот, влезает целиком.
  • блоку обязательно нужна высота (min-height/контент внутри), иначе фон не на чем показать.
  • путь в url() — относительно CSS-файла, не HTML.
Лев Смирнов про путь относительно css-файла — вот почему у меня битая картинка была, спасибо 🙏 · 12 месяцев назад
11

background: url('bg.jpg') center/cover no-repeat; — короткая запись всего сразу. Не забудь блоку высоту.

4

background-image: url(...).

Ваш ответ

Войдите, чтобы ответить на вопрос.
Поддержать проект