STARTPOINT_DEV Telegram 43
🔍 Продолжаем разговор про z-index: Контекст наложения

Контекст наложения (stacking context) — это концепция в CSS, которая определяет, как элементы должны перекрываться или как они наложены друг на друга на веб-странице. Контекст наложения создается в следующих случаях:

1️⃣ Корневой элемент (HTML): По умолчанию корневой элемент создает контекст наложения.

2️⃣ Свойства position и z-index: Любой элемент с свойством position отличным от static, и заданным значением z-index задаёт новый контекст наложения.

3️⃣ Некоторые CSS-свойства также создают новый контекст наложения:

🔸 opacity со значением меньше 1.
🔸 transform, не равное none.
🔸 filter, не равное none.
🔸 perspective, большее нуля.
🔸 clip-path, не равное none.
🔸 mask / mask-image / mask-border, не равные none.
🔸 mix-blend-mode, кроме normal.
🔸 will-change, упоминающее любое из свойств, создающих контекст наложения.
🔸 isolation: isolate.

Внутри контекста элементы сортируются сначала по порядку расположения в HTML, а элементы с указанным z-index перемещаются в соответствии с их значениями z-index. Элемент с более высоким z-index находится над элементом с более низким z-index.

Особенностью контекста наложения является его изоляция: z-index работает только в пределах одного контекста наложения и не взаимодействует с элементами, которые находятся за его пределами в других контекстах. Это означает, что z-index одного блока не может влиять на элементы, находящиеся в другом блоке, если каждый из них создает собственный контекст наложения.


<style>
#content-1 { color: red; height: 18px }
#new-context { margin-top: -12px }
#content-2 { color: blue; height: 18px }
#content-3 { color: green; margin-top: -12px }
</style>

<div id="main" style="position: relative; z-index: 1;">
<div id="content-1" style="position: relative; z-index: 10;">#content-1</div>
<div id="new-context" style="opacity: 0.7;">
<div id="content-2" style="position: relative; z-index: 200;">#content-2</div>
<div id="content-3" style="position: relative; z-index: 100;">#content-3</div>
</div>
</div>


🔹 Здесь элемент #new-context задаёт новый контекст наложения внутри контекста #main.
🔹 Поэтому, несмотря на то, что z-index у элементов #content-2 и #content-3 выше, чем у #content-1, они визуально будут расположены ниже, так как #content-1 поднимается выше всего #new-context благодаря своему z-index.
🔹 При этом #content-2 будет перекрывать #content-3 внутри общего контекста наложения #new-context.

🔗 Подробнее про контекст наложения на MDN.
👍2



tgoop.com/startpoint_dev/43
Create:
Last Update:

🔍 Продолжаем разговор про z-index: Контекст наложения

Контекст наложения (stacking context) — это концепция в CSS, которая определяет, как элементы должны перекрываться или как они наложены друг на друга на веб-странице. Контекст наложения создается в следующих случаях:

1️⃣ Корневой элемент (HTML): По умолчанию корневой элемент создает контекст наложения.

2️⃣ Свойства position и z-index: Любой элемент с свойством position отличным от static, и заданным значением z-index задаёт новый контекст наложения.

3️⃣ Некоторые CSS-свойства также создают новый контекст наложения:

🔸 opacity со значением меньше 1.
🔸 transform, не равное none.
🔸 filter, не равное none.
🔸 perspective, большее нуля.
🔸 clip-path, не равное none.
🔸 mask / mask-image / mask-border, не равные none.
🔸 mix-blend-mode, кроме normal.
🔸 will-change, упоминающее любое из свойств, создающих контекст наложения.
🔸 isolation: isolate.

Внутри контекста элементы сортируются сначала по порядку расположения в HTML, а элементы с указанным z-index перемещаются в соответствии с их значениями z-index. Элемент с более высоким z-index находится над элементом с более низким z-index.

Особенностью контекста наложения является его изоляция: z-index работает только в пределах одного контекста наложения и не взаимодействует с элементами, которые находятся за его пределами в других контекстах. Это означает, что z-index одного блока не может влиять на элементы, находящиеся в другом блоке, если каждый из них создает собственный контекст наложения.


<style>
#content-1 { color: red; height: 18px }
#new-context { margin-top: -12px }
#content-2 { color: blue; height: 18px }
#content-3 { color: green; margin-top: -12px }
</style>

<div id="main" style="position: relative; z-index: 1;">
<div id="content-1" style="position: relative; z-index: 10;">#content-1</div>
<div id="new-context" style="opacity: 0.7;">
<div id="content-2" style="position: relative; z-index: 200;">#content-2</div>
<div id="content-3" style="position: relative; z-index: 100;">#content-3</div>
</div>
</div>


🔹 Здесь элемент #new-context задаёт новый контекст наложения внутри контекста #main.
🔹 Поэтому, несмотря на то, что z-index у элементов #content-2 и #content-3 выше, чем у #content-1, они визуально будут расположены ниже, так как #content-1 поднимается выше всего #new-context благодаря своему z-index.
🔹 При этом #content-2 будет перекрывать #content-3 внутри общего контекста наложения #new-context.

🔗 Подробнее про контекст наложения на MDN.

BY Настя Котова // Frontend & Node.js


Share with your friend now:
tgoop.com/startpoint_dev/43

View MORE
Open in Telegram


Telegram News

Date: |

Those being doxxed include outgoing Chief Executive Carrie Lam Cheng Yuet-ngor, Chung and police assistant commissioner Joe Chan Tung, who heads police's cyber security and technology crime bureau. fire bomb molotov November 18 Dylan Hollingsworth yau ma tei Ng, who had pleaded not guilty to all charges, had been detained for more than 20 months. His channel was said to have contained around 120 messages and photos that incited others to vandalise pro-government shops and commit criminal damage targeting police stations. As five out of seven counts were serious, Hui sentenced Ng to six years and six months in jail.
from us


Telegram Настя Котова // Frontend & Node.js
FROM American