【基础】CSS查缺补漏4(层叠上下文)
html 文档看似是一个平面,实际上 html 元素存在三个维度中。即除了 x / y 轴,还存在 z 轴。
文档中的层叠上下文由满足以下任意一个条件的元素形成:
文档根元素(
<html>);position值为absolute或relative且z-index值不为auto的元素;position值为fixed(固定定位)或sticky(粘滞定位)的元素;flex | grid 容器的子元素,且
z-index值不为auto;opacity属性值小于1的元素(参见 the specification for opacity);以下任意属性值不为
none的元素:transformfilterbackdrop-filterperspectiveclip-pathmask/mask-image/mask-border
isolation属性值为isolate的元素;will-change值设定了任一属性而该属性在 non-initial 值时会创建层叠上下文的元素(参考这篇文章);contain属性值为layout、paint或包含它们其中之一的合成值(比如contain: strict、contain: content)的元素。
子级层叠上下文的 z-index 值只在父级中才有意义。