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


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

element.style.zIndex - це CSS-властивість, яка використовується для визначення порядку накладання елементів уздовж осі z на веб-сторінці. Вона дозволяє контролювати, які елементи будуть зверху інших, коли вони накладаються один на одного. Значення z-index може бути позитивним, негативним або нульовим, і чим більше значення, тим вище елемент розташований над іншими елементами з меншим значенням z-index.

Значення z-index може бути цілочисельним або ключовим словом auto, яке є значенням за замовчуванням. Значення auto означає, що елемент буде слідувати порядку накладання свого батьківського контейнера. Елементи з більш високим значенням z-index розташовуються над елементами з нижчим значенням.

Для використання element.style.zIndex через JavaScript спочатку потрібно отримати доступ до елемента за допомогою методу getElementById, querySelector або іншого способу вибору елемента в DOM. Потім можна встановити або змінити значення z-index для цього елемента.

Приклад 1: Встановлення значення z-index для елемента.

var element = document.getElementById('myElement');
element.style.zIndex = '10';

У цьому прикладі елемент з id myElement буде розташований над усіма елементами, які мають значення z-index менше 10.

Приклад 2: Використання негативного значення z-index для відправки елемента на задній план.

var element = document.getElementById('backgroundElement');
element.style.zIndex = '-1';

У цьому прикладі елемент з id backgroundElement буде розташований позаду всіх елементів, які мають значення z-index більше або дорівнює нулю.

Приклад 3: Динамічна зміна значення z-index на основі взаємодії користувача. Це може бути корисно для створення інтерактивних інтерфейсів, де елементи змінюють свій порядок накладання залежно від дій користувача.

var foregroundElement = document.getElementById('foregroundElement');
var backgroundElement = document.getElementById('backgroundElement');

foregroundElement.addEventListener('click', function() {
  foregroundElement.style.zIndex = '20';
  backgroundElement.style.zIndex = '10';
});

У цьому прикладі при натисканні на foregroundElement його z-index встановлюється на 20, а backgroundElement - на 10, що розташовує foregroundElement над backgroundElement.

Використання властивості z-index дозволяє гнучко управляти порядком накладання елементів на веб-сторінці, забезпечуючи правильне відображення ієрархії і взаємодії між різними шарами контенту. Це особливо корисно для створення складних макетів, спливаючих вікон, модальних діалогів і інших елементів інтерфейсу, які потребують контролю над порядком відображення.

автор: Bond

Порада

Пам'ятайте, що z-index працює в контексті свого батьківського контейнера з встановленим позиціонуванням. Якщо ви маєте проблеми з накладанням елементів, перевірте ієрархію DOM і переконайтеся, що батьківський елемент також має правильне значення position.

автор: Bond
Порада

Коли у вас є декілька шарів, важливо використовувати масштабовані значення z-index. Наприклад, замість використання значень 1, 2, 3, використовуйте 10, 20, 30, щоб мати можливість вставляти нові елементи між існуючими шарами без необхідності змінювати значення всіх елементів.

автор: Bond
Порада

Для анімацій та ефектів, де елементи повинні переміщуватися вперед і назад візуально, використовуйте z-index разом з CSS-переходами або анімаціями. Це дозволить створити плавні та привабливі ефекти, що покращують взаємодію користувача з веб-сторінкою.

element.style.transition = 'z-index 0.3s ease';
element.style.zIndex = '50';
автор: Bond

Синтаксис

element.style.zIndex

Переглядачі

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

Приклади

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

У цьому прикладі є два модальних вікна (modal1 і modal2), які можуть відкриватися за допомогою відповідних кнопок. Коли відкривається одне з модальних вікон, його z-index встановлюється на 100, а z-index іншого модального вікна зменшується до 50, що дозволяє завжди розташовувати активне модальне вікно на передньому плані.

HTML

<div id="modal1">Демонстраційний елемент</div>
<div id="modal2">Демонстраційний елемент</div>
<div id="openModal1">Демонстраційний елемент</div>
<div id="openModal2">Демонстраційний елемент</div>

JS

var modal1 = document.getElementById('modal1');
var modal2 = document.getElementById('modal2');
var openModal1Button = document.getElementById('openModal1');
var openModal2Button = document.getElementById('openModal2');

openModal1Button.addEventListener('click', function() {
  modal1.style.display = 'block';
  modal1.style.zIndex = '100';
  modal2.style.zIndex = '50';
});

openModal2Button.addEventListener('click', function() {
  modal2.style.display = 'block';
  modal2.style.zIndex = '100';
  modal1.style.zIndex = '50';
});
автор: Bond

У цьому прикладі група елементів з класом sortable може змінювати свій порядок накладання при натисканні. Кожен раз, коли користувач натискає на елемент, його z-index збільшується на 10, що піднімає його над іншими елементами. Це корисно для створення інтерфейсів, де користувачі можуть взаємодіяти з елементами, змінюючи їх порядок накладання, наприклад, у додатках для малювання або на панелях управління.

HTML

<div class="sortable">перший елемент sortable</div>
<div class="sortable">другий елемент sortable</div>

JS

var elements = document.querySelectorAll('.sortable');
var zIndexCounter = 10;

elements.forEach(function(element) {
  element.addEventListener('click', function() {
    zIndexCounter += 10;
    element.style.zIndex = zIndexCounter;
  });
});
автор: Bond

Цей приклад дозволяє користувачам змінювати порядок накладання елементів (фотографій) за допомогою перемикачів. Коли користувач вибирає одну з фотографій, її z-index встановлюється на 3, що піднімає її над іншими фотографіями, які мають z-index, встановлений на 1. Це демонструє, як можна динамічно керувати порядком накладання елементів на веб-сторінці, щоб користувачі могли взаємодіяти з контентом.

автор: 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`.
||
Ховає цілі абзаци. На сторінці видно лише підпис із першого рядка («Показати рішення»), решта розгортається клацанням по ньому. Закривні риски — окремим рядком.
Порожній рядок Новий абзац. Щоб перенести рядок усередині абзацу, поставте \ в його кінці.

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

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