JS властивість CSSStyleDeclaration.backgroundImage


Загальний опис

backgroundImage — це властивість об'єкта style, що дозволяє встановлювати або змінювати фонове зображення HTML-елемента. Ця властивість є корисною при створенні динамічних веб-сторінок, де необхідно змінювати фонові зображення елементів без потреби в перезавантаженні сторінки. Основне призначення властивості backgroundImage полягає в задаванні зображення як фону для певного HTML-елемента, що може значно покращити візуальне сприйняття сторінки та зробити її більш привабливою для користувача.

Для того щоб скористатися властивістю backgroundImage, спочатку необхідно отримати доступ до HTML-елемента за допомогою методів, таких як document.getElementById, document.querySelector або інших методів доступу до DOM. Після цього можна встановити або змінити значення властивості backgroundImage.

Розглянемо приклад базового використання цієї властивості. Припустимо, у нас є HTML-елемент з ідентифікатором myElement:

<div id="myElement">Це мій елемент</div>

Для того щоб встановити фонове зображення для цього елемента, скористаємося наступним кодом JavaScript:

let element = document.getElementById("myElement");
element.style.backgroundImage = "url('path/to/image.jpg')";

У даному прикладі ми отримуємо доступ до елемента з ідентифікатором myElement за допомогою методу document.getElementById і встановлюємо фонове зображення через властивість style.backgroundImage. Значенням властивості є рядок, що починається з url, всередині якого вказано шлях до зображення.

Фонові зображення можуть бути різних типів, зокрема це можуть бути абсолютні або відносні шляхи до файлів, зображення, закодовані у форматі Data URL, та градієнти. Розглянемо приклади для кожного з цих типів.

  1. Використання абсолютного шляху:
element.style.backgroundImage = "url('https://example.com/image.jpg')";
  1. Використання відносного шляху:
element.style.backgroundImage = "url('images/background.jpg')";
  1. Використання Data URL:
element.style.backgroundImage = "url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUA...')";
  1. Використання градієнта:
element.style.backgroundImage = "linear-gradient(to right, red, yellow)";

Варто зауважити, що встановлення фонових зображень за допомогою властивості backgroundImage не обмежується лише одним зображенням. Можна встановлювати декілька фонів одночасно, розділяючи їх комами:

element.style.backgroundImage = "url('image1.jpg'), url('image2.png')";

Крім того, фонове зображення може поєднуватися з іншими властивостями стилю, такими як backgroundSize, backgroundPosition, backgroundRepeat та інші, для точнішого налаштування відображення фону.

Розглянемо приклад комплексного використання властивості backgroundImage разом з іншими властивостями:

element.style.backgroundImage = "url('image.jpg')";
element.style.backgroundSize = "cover";
element.style.backgroundPosition = "center";
element.style.backgroundRepeat = "no-repeat";

У цьому прикладі ми встановлюємо зображення image.jpg як фонове для елемента, задаємо його розмір, щоб зображення покривало весь елемент (backgroundSize), розміщуємо його по центру (backgroundPosition) та забороняємо повторення (backgroundRepeat).

Отже, властивість backgroundImage є потужним інструментом для роботи з фоновими зображеннями в HTML-елементах. Її гнучкість дозволяє використовувати різноманітні типи зображень та комбінувати їх з іншими CSS-властивостями для досягнення бажаного візуального ефекту.

автор: Bond

Порада

Об'єднуйте кілька фонів для створення складних ефектів. Властивість backgroundImage дозволяє використовувати більше одного зображення, розділяючи їх комами. Це корисно для створення багатошарових фонів. Наприклад, можна додати прозорий PNG-елемент поверх основного фону:

element.style.backgroundImage = "url('background.jpg'), url('overlay.png')";
автор: Bond
Порада

Завжди вказуйте правильний шлях до зображення. Це може бути абсолютний шлях (повний URL) або відносний шлях (відносно місця розташування вашого HTML-файлу). Неправильний шлях призведе до того, що зображення не буде завантажено. Наприклад, для завантаження зображення з тієї ж директорії, де знаходиться ваш HTML-файл, використовуйте:

element.style.backgroundImage = "url('background.jpg')";
автор: Bond
Порада

Використовуйте властивість backgroundSize для налаштування розміру фону. Значення cover забезпечить повне покриття елемента зображенням, а contain збереже пропорції зображення, щоб воно вмістилося в елемент. Це допоможе уникнути деформації зображення та забезпечить кращий вигляд вашого елемента:

element.style.backgroundSize = "cover";
автор: Bond

Синтаксис

element.style.backgroundImage

Переглядачі

Підтримка: стаціонарні переглядачі
Переглядач Google Chrome Mozilla Firefox Apple Safari Opera Microsoft EDGE Microsoft Internet Explorer
1 1 1 3.5 12 4
Підтримка: мобільні переглядачі
Переглядач Mobile Google Android Mobile Google Chrome Mobile Mozilla Firefox Mobile Apple Safari
4.4 18 4 1

Приклади

+ запропонувати свій приклад у пісочниці

У цьому прикладі ми встановлюємо фонове зображення для елемента div за допомогою властивості backgroundImage. Зверніть увагу, що шлях до зображення має бути вказаний у форматі url().

<div id="myDiv"></div>

<script>
// Отримуємо елемент div
const myDiv = document.getElementById('myDiv');

// Встановлюємо фонове зображення
myDiv.style.backgroundImage = 'url("images/pattern.jpg")';
</script>
автор: Bond

У цьому прикладі ми створюємо функцію, яка змінює фонове зображення елемента при наведенні курсора миші. Властивість backgroundImage використовується для зміни фонового зображення, а event.target дозволяє отримати поточний елемент, над яким знаходиться курсор. Зверніть увагу на використання this для доступу до поточного елемента всередині функції.

<div id="myDiv" onmouseover="changeBackground(event)">Наведіть курсор на цей div</div>

<script>
// Масив шляхів до зображень
const images = ['img1.jpg', 'img2.jpg', 'img3.jpg'];
let currentIndex = 0;

function changeBackground(event) {
  // Отримуємо поточний елемент
  const targetElement = event.target;

  // Змінюємо фонове зображення
  targetElement.style.backgroundImage = `url('images/${images[currentIndex]}')`;

  // Переходимо до наступного зображення в масиві
  currentIndex = (currentIndex + 1) % images.length;
}
</script>
автор: Bond

У цьому прикладі ми демонструємо використання властивості backgroundImage для зміни фонового зображення елемента div за допомогою радіо-кнопок. Користувач може вибрати одне із трьох зображень, і відповідне зображення буде встановлене як фонове для елемента div з id="box". Зверніть увагу на використання querySelectorAll для отримання всіх радіо-кнопок та addEventListener для додавання обробника події change до кожної радіо-кнопки.

автор: Bond

Коментарі

Коментарів ще немає — будьте першим!

Відповідь для

Як форматувати текст?
Пишемо Виходить
**важливо**
*акцент*
~~застаріле~~
Виділення в тексті. Те саме роблять кнопки панелі, що спливає над виділеним.
## Як працює каскад
### Порядок оголошень
Заголовки всередині тексту. Найбільший не потрібен — він у сторінки вже є.
[[css/property/color]] Посилання на сторінку довідника. Наберіть [[ — поле саме підкаже шляхи, а хибний підкреслить хвилею.
[MDN](https://developer.mozilla.org) Посилання на чужий сайт.
![Схема каскаду](https://site.com/схема.png) Картинка. Опис обов'язковий: його читають пошуковик і незрячі.
Задайте `display: grid` контейнеру Код усередині речення.
```css
.card { display: grid }
```
Код блоком. Мова після трьох лапок вмикає підсвітку.
- Походження
1. Походження
Перелік: маркований і нумерований.
- [ ] дописати приклади
- [x] перевірити в Firefox
Перелік завдань із галочками. Пробіл у порожніх дужках обов'язковий.
> Порядок важить лише за рівної ваги. Цитата на всю ширину абзацу.
Специфічність
: вага селектора; більша перемагає
Список означень: термін, а під ним пояснення з відступом. Пробіл після двокрапки обов'язковий.
Каскад має три критерії[^1]
[^1]: Походження, специфічність, порядок.
Виноска: номер у тексті, примітка внизу сторінки. Без згадки [^1] у тексті примітка не з'явиться.
Відповідь: ||сорок два|| Ховає те, що між рисками: читач бачить на цьому місці розмиту пляму, а решта речення лишається звичайною. Клац — і текст відкрито.
|| Показати рішення
Задайте контейнеру `display: grid`.
||
Ховає цілі абзаци. На сторінці видно лише підпис із першого рядка («Показати рішення»), решта розгортається клацанням по ньому. Закривні риски — окремим рядком.
Порожній рядок Новий абзац. Щоб перенести рядок усередині абзацу, поставте \ в його кінці.

Увійдіть — коментар з'явиться одразу, без капчі й очікування перевірки.

Пропозиція правки

Ваша версія — : після перевірки замінить чинну. Нова порада чи нотатка — з'явиться на сторінці після перевірки.

Як форматувати текст?
Пишемо Виходить
**важливо**
*акцент*
~~застаріле~~
Виділення в тексті. Те саме роблять кнопки панелі, що спливає над виділеним.
## Як працює каскад
### Порядок оголошень
Заголовки всередині тексту. Найбільший не потрібен — він у сторінки вже є.
[[css/property/color]] Посилання на сторінку довідника. Наберіть [[ — поле саме підкаже шляхи, а хибний підкреслить хвилею.
[MDN](https://developer.mozilla.org) Посилання на чужий сайт.
![Схема каскаду](https://site.com/схема.png) Картинка. Опис обов'язковий: його читають пошуковик і незрячі.
Задайте `display: grid` контейнеру Код усередині речення.
```css
.card { display: grid }
```
Код блоком. Мова після трьох лапок вмикає підсвітку.
- Походження
1. Походження
Перелік: маркований і нумерований.
- [ ] дописати приклади
- [x] перевірити в Firefox
Перелік завдань із галочками. Пробіл у порожніх дужках обов'язковий.
> Порядок важить лише за рівної ваги. Цитата на всю ширину абзацу.
Специфічність
: вага селектора; більша перемагає
Список означень: термін, а під ним пояснення з відступом. Пробіл після двокрапки обов'язковий.
Каскад має три критерії[^1]
[^1]: Походження, специфічність, порядок.
Виноска: номер у тексті, примітка внизу сторінки. Без згадки [^1] у тексті примітка не з'явиться.
Відповідь: ||сорок два|| Ховає те, що між рисками: читач бачить на цьому місці розмиту пляму, а решта речення лишається звичайною. Клац — і текст відкрито.
|| Показати рішення
Задайте контейнеру `display: grid`.
||
Ховає цілі абзаци. На сторінці видно лише підпис із першого рядка («Показати рішення»), решта розгортається клацанням по ньому. Закривні риски — окремим рядком.
Порожній рядок Новий абзац. Щоб перенести рядок усередині абзацу, поставте \ в його кінці.

Ви гість — діють добові ліміти. Увійдіть, щоб пропонувати без капчі.

Ваша версія секції «»: після перевірки замінить чинну.

Як форматувати текст?
Пишемо Виходить
**важливо**
*акцент*
~~застаріле~~
Виділення в тексті. Те саме роблять кнопки панелі, що спливає над виділеним.
## Як працює каскад
### Порядок оголошень
Заголовки всередині тексту. Найбільший не потрібен — він у сторінки вже є.
[[css/property/color]] Посилання на сторінку довідника. Наберіть [[ — поле саме підкаже шляхи, а хибний підкреслить хвилею.
[MDN](https://developer.mozilla.org) Посилання на чужий сайт.
![Схема каскаду](https://site.com/схема.png) Картинка. Опис обов'язковий: його читають пошуковик і незрячі.
Задайте `display: grid` контейнеру Код усередині речення.
```css
.card { display: grid }
```
Код блоком. Мова після трьох лапок вмикає підсвітку.
- Походження
1. Походження
Перелік: маркований і нумерований.
- [ ] дописати приклади
- [x] перевірити в Firefox
Перелік завдань із галочками. Пробіл у порожніх дужках обов'язковий.
> Порядок важить лише за рівної ваги. Цитата на всю ширину абзацу.
Специфічність
: вага селектора; більша перемагає
Список означень: термін, а під ним пояснення з відступом. Пробіл після двокрапки обов'язковий.
Каскад має три критерії[^1]
[^1]: Походження, специфічність, порядок.
Виноска: номер у тексті, примітка внизу сторінки. Без згадки [^1] у тексті примітка не з'явиться.
Відповідь: ||сорок два|| Ховає те, що між рисками: читач бачить на цьому місці розмиту пляму, а решта речення лишається звичайною. Клац — і текст відкрито.
|| Показати рішення
Задайте контейнеру `display: grid`.
||
Ховає цілі абзаци. На сторінці видно лише підпис із першого рядка («Показати рішення»), решта розгортається клацанням по ньому. Закривні риски — окремим рядком.
Порожній рядок Новий абзац. Щоб перенести рядок усередині абзацу, поставте \ в його кінці.

Ви гість — діють добові ліміти. Увійдіть, щоб пропонувати без капчі.

Ваша версія опису «»: після перевірки замінить чинну.

Як форматувати текст?
Пишемо Виходить
**важливо**
*акцент*
~~застаріле~~
Виділення в тексті. Те саме роблять кнопки панелі, що спливає над виділеним.
## Як працює каскад
### Порядок оголошень
Заголовки всередині тексту. Найбільший не потрібен — він у сторінки вже є.
[[css/property/color]] Посилання на сторінку довідника. Наберіть [[ — поле саме підкаже шляхи, а хибний підкреслить хвилею.
[MDN](https://developer.mozilla.org) Посилання на чужий сайт.
![Схема каскаду](https://site.com/схема.png) Картинка. Опис обов'язковий: його читають пошуковик і незрячі.
Задайте `display: grid` контейнеру Код усередині речення.
```css
.card { display: grid }
```
Код блоком. Мова після трьох лапок вмикає підсвітку.
- Походження
1. Походження
Перелік: маркований і нумерований.
- [ ] дописати приклади
- [x] перевірити в Firefox
Перелік завдань із галочками. Пробіл у порожніх дужках обов'язковий.
> Порядок важить лише за рівної ваги. Цитата на всю ширину абзацу.
Специфічність
: вага селектора; більша перемагає
Список означень: термін, а під ним пояснення з відступом. Пробіл після двокрапки обов'язковий.
Каскад має три критерії[^1]
[^1]: Походження, специфічність, порядок.
Виноска: номер у тексті, примітка внизу сторінки. Без згадки [^1] у тексті примітка не з'явиться.
Відповідь: ||сорок два|| Ховає те, що між рисками: читач бачить на цьому місці розмиту пляму, а решта речення лишається звичайною. Клац — і текст відкрито.
|| Показати рішення
Задайте контейнеру `display: grid`.
||
Ховає цілі абзаци. На сторінці видно лише підпис із першого рядка («Показати рішення»), решта розгортається клацанням по ньому. Закривні риски — окремим рядком.
Порожній рядок Новий абзац. Щоб перенести рядок усередині абзацу, поставте \ в його кінці.

Ви гість — діють добові ліміти. Увійдіть, щоб пропонувати без капчі.

Зворотний зв'язок
Вхід