CSS свойство background-image

Определение и применение

CSS свойство background-image задает одно или несколько фоновых изображений для элемента. При начальном background-clip: border-box фон элемента — общий размер элемента, включая значения padding и border, но не включая значение свойства margin. По умолчанию, фоновое изображение размещается в верхнем левом углу элемента и повторяется по вертикали и горизонтали. Желательно всегда устанавливать цвет фона, который будет использоваться, в случае если изображение по каким-то причинам будет недоступно.

Настройка фона рассмотрена в уроке «Работа с фоном элемента в CSS».

Первое изображение в списке рисуется сверху, последнее — ближе всего к цвету фона. Градиент также является изображением. Настроить его цвета, направление и фоновые узоры можно в генераторе градиентов.

Попробуйте значения background-image

Градиенты тоже являются фоновыми изображениями. При none остаётся заданный отдельно голубой background-color.

Значение свойства

background-image: none

HTML и CSS примера
HTML
<div class="demo-target">
  <strong>Карточка</strong>
  <p>Текст помогает увидеть цвет и фон элемента.</p>
</div>
CSS
.demo-target {
  box-sizing: border-box;
  width: 100%;
  max-width: 320px;
  min-height: 180px;
  padding: 24px;
  border: 3px solid #245a85;
  border-radius: 8px;
  color: #172c3d;
  background-color: #d9edf8;
  font: 18px/1.5 system-ui;
  background-image: none;
}

Поддержка браузерами

Спецификация: CSS backgrounds

Поддерживается во всех основных браузерах с 2015 года.

Отдельные значения (1) поддерживаются не везде — смотрите таблицу.

Показать браузеры
Совместимостьcss.properties.background-image
ВозможностьКомпьютерыМобильные
ChromeEdgeFirefoxOperaSafariChrome AndroidFirefox for AndroidOpera AndroidSafari on iOSSamsung BrowserWebView AndroidWebView on iOS
background-image✓1✓12✓1✓3.5✓1✓18✓4✓14✓1✓1.0✓4.4✓1
element××◐4×××◐4×××××
gradients✓1✓12✓3.6✓11✓4✓18✓4✓14✓3.2✓1.0✓4.4✓3.2
image-set✓113✓113✓89✓99✓17✓113✓89✓76✓17✓23.0✓113✓17
Несколько фонов✓1✓12✓3.6✓10.5✓1.3✓18✓4✓14✓1✓1.0✓4.4✓1
none✓1✓12✓1✓15✓1✓18✓4✓14✓1✓1.0✓4.4✓1
SVG images✓8✓12✓4✓9.5✓5✓18✓4✓14✓5✓1.0✓4.4✓5

поддерживаетсяс ограниченияминет поддержкинет данных≤31 — не позднее версии 31

CSS синтаксис:

CSS
background-image: [ none | <image> ]#;

/* Глобальные значения */
background-image: initial | inherit | unset | revert | revert-layer;

| разделяет варианты. # — одно или несколько значений через запятую для фоновых слоёв. Квадратные скобки группируют части записи. <image> — изображение: url(), градиент, image-set() и другие функции этого типа; их поддержка различается.

JavaScript синтаксис:

JavaScript
element.style.backgroundImage = "url(img.jpg)";

Начальное значение свойства

none.

Значения свойства

Значения background-image
Значение Описание
url('URL') URL-адрес изображения. Для того, чтобы указать более одного изображения, необходимо перечислить URL-адреса изображений через запятую.
none Фоновое изображение не отображается. Начальное значение.
<image> Изображение: url(), линейный, радиальный или конический градиент (включая повторяющиеся), image-set() и другие функции типа <image>. Поддержка отдельных функций различается.
initial Устанавливает начальное значение свойства.
inherit Наследует вычисленное значение свойства у родительского элемента.
unset Для ненаследуемого свойства background-image устанавливает его начальное значение.
revert Отменяет заданное в коде значение свойства для этого элемента: применяются пользовательские или стандартные стили браузера. Если они не задают значение, свойство наследуется или получает начальное значение по обычным правилам. Не возвращает значение из предыдущей строки CSS.
revert-layer Сбрасывает значение свойства для текущего слоя каскада @layer. Применяется значение из другого слоя по правилам каскада; если подходящего значения нет, возможен откат к стилям пользователя или браузера.

Спецификация

CSS Backgrounds and Borders Module Level 3.

Наследуется

Нет.

Анимируемое

Тип анимации — дискретный: значение переключается без плавных промежуточных положений.

Примеры, попробуйте сами

Изображение и цвет под ним

Замените url("assets/tile.svg") на none. Изображение исчезнет, а цвет под ним останется.

base.css
CSS
* {
    box-sizing: border-box;
}
body {
    margin: 16px;
    font:
        16px/1.4 system-ui,
        sans-serif;
    color: #172c3d;
}
.comparison {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 180px), 1fr));
    gap: 16px;
}
h3 {
    font-size: 16px;
    margin: 0 0 8px;
}
section {
    min-width: 0;
    background: repeating-conic-gradient(#fff 0% 25%, #e1e7ed 0% 50%) 0 / 20px 20px;
}
.sample {
    min-height: 190px;
    border: 1px solid #607589;
}
index.html
HTML
<div class="comparison">
  <section>
    <h3>Результат</h3>
    <div class="sample"></div>
  </section>
</div>
style.css
CSS
.sample {
    background-image: url('assets/tile.svg');
    background-color: #fff0cf;
    background-repeat: no-repeat;
    background-position: center;
}

Несколько фоновых слоёв

Первое изображение в списке находится сверху. Поменяйте местами градиент и url(): сравните, перекрывает ли полупрозрачный градиент рисунок.

base.css
CSS
* {
    box-sizing: border-box;
}
body {
    margin: 16px;
    font:
        16px/1.4 system-ui,
        sans-serif;
    color: #172c3d;
}
.comparison {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 180px), 1fr));
    gap: 16px;
}
h3 {
    font-size: 16px;
    margin: 0 0 8px;
}
section {
    min-width: 0;
    background: repeating-conic-gradient(#fff 0% 25%, #e1e7ed 0% 50%) 0 / 20px 20px;
}
.sample {
    min-height: 190px;
    border: 1px solid #607589;
}
index.html
HTML
<div class="comparison">
  <section>
    <h3>Результат</h3>
    <div class="sample"></div>
  </section>
</div>
style.css
CSS
.sample {
    background-image: linear-gradient(90deg, rgb(0 90 150 / 0.65), transparent), url('assets/tile.svg');
    background-repeat: no-repeat, repeat;
    background-size:
        100% 100%,
        80px 50px;
}