I don't want to hear anything about 3D on the WEB.
z-index is evil on the web))

BACK TO MAIN PAGE

z-index

Контекст накладення

img

Синтаксис

z-index: auto | <integer>

  • Чим більше значення z-index тим вище(ближче до глядача) знаходиться елемент.
  • "auto" те саме що "0"
    (! але "0" створює новий контекст накладення, "auto" - ні.
  • <integer> додатнє або від’ємне число.
img

Приклади впливу зміни z-index. Накладання елементів без z-index

  • Якщо у сусідніх елементів однакові значення z-index, тоді працює стандартний порядок накладання в html.
  • z-index не працює з position: static;
  • z-index працює тільки з position: relative, absolute, fixed, sticky.
Приклад. Поки все просто.

z-index. Parents + children

  • ще раз !!
    z-index не працює з position: static;
  • ще раз !!
    z-index працює тільки з position: relative, absolute, fixed, sticky.
  • Приклад. Все ще просто
  • z-index створює контекст накладення(примітка: не auto, є position: не static).
  • цей контекст накладення має значення/вплив !!тільки для його child-елементів!!

z-index. Перший шок і тонкощі пошуку контексту

  • Перший шок
  • !!!child-елементи елемента-батька(з контекстом накладення) живуть у свому ізольованому просторі
  • !!!child-елементи не можуть бути нижче елемента-батька(з контекстом накладення)
  • opacity<0 Просто вважайте його рівнозначним z-index:0;
  • opacity<0 --- створює контекст накладення!!!

Новий контекст створюється для наступних елементів:

  • <body> (<html>)
  • елементи з z-index не “auto” і position іншим ніж “static”; fixed(створює контекст навіть без z-index)
  • елементи з opacity<1
  • Flex- та Grid-елементів зі значенням z-index не “auto”. Навіть якщо він “static”.
  • елементи з властивістю transform не “none”
  • елементи з властивістю “will-change”, filter, transform-style зі значенням preserve-3d; perspective зі значенням не “none”, CSS Regions: встановлене значения flow-from не“none”, для елемента з content не "normal".

Стандартне накладання елементів в HTML

img

Стандартне накладання елементів в HTML +z-index-овані елементи

img

z-index деяких фреймворків

  • Bootstrap 3 z-index:
  • @zindex-navbar: 1000;
  • @zindex-dropdown: 1000;
  • @zindex-popover: 1060;
  • @zindex-tooltip: 1070;
  • @zindex-navbar-fixed: 1030;
  • @zindex-modal-background: 1040;
  • @zindex-modal: 1050;
  • Material UI z-index:
  • mobile stepper: 1000
  • app bar: 1100
  • drawer: 1200
  • modal: 1300
  • snackbar: 1400
  • tooltip: 1500

Test for UI dev

© Oleh Pshyk 2017

LaSoft