We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
层叠上下文,英文称作”stacking context”,是HTML中的一个三维的概念。如果一个元素含有层叠上下文,我们可以理解为这个元素在z轴上就“高人一等”。
“层叠水平”英文称作 ”stacking level” ,决定了同一个层叠上下文中元素在 z 轴上的显示顺序。
遵循”后来居上“和”谁大谁上“的层叠准则。
普通元素的层叠水平优先由层叠上下文决定,因此,层叠水平的比较只有在当前层叠上下文元素中才有意义。
“层叠顺序”英文称作 ”stacking order”。表示元素发生层叠时候有着特定的垂直显示顺序,注意,这里跟上面两个不一样,上面的层叠上下文和层叠水平是概念,而这里的层叠顺序是规则。
在不考虑CSS3的情况下,当元素发生层叠时,层叠顺讯遵循上面途中的规则。 这里值得注意的是:
z-index
z-index: auto
z-index: 0
z-index与层叠上下文:
auto
position
static
display
flex|inline-flex
opacity
1
transform
none
mix-blend-mode
normal
filter
isolation
isolate
will-change
-webkit-overflow-scrolling
touch
2
对于非浮层元素,不要过多地去运用 z-index 去调整显示顺序,要灵活地去运用层叠水平和"后来居上"的准则去让元素获得正确的显示,如果是在要设置 z-index 去调整,不建议非浮层元素 z-index 数值超过 2,对于 DOM 元素,-1, 0, 1, 2 足够让元素有正确的显示顺序。
-1
0
对于浮层元素,往往是第三方组件开发,当你无法确认你的浮层是否会百分百覆盖在 DOM 树上的时候,你可以去动态获取页面 body 元素下所有子元素 z-index 的最大值,在此基础加一作为浮层元素 z-index 值,用于保证该浮层元素能够显示在最上方。
The text was updated successfully, but these errors were encountered:
No branches or pull requests
定义
层叠上下文
层叠上下文,英文称作”stacking context”,是HTML中的一个三维的概念。如果一个元素含有层叠上下文,我们可以理解为这个元素在z轴上就“高人一等”。
层叠水平
“层叠水平”英文称作 ”stacking level” ,决定了同一个层叠上下文中元素在 z 轴上的显示顺序。
遵循”后来居上“和”谁大谁上“的层叠准则。
普通元素的层叠水平优先由层叠上下文决定,因此,层叠水平的比较只有在当前层叠上下文元素中才有意义。
层叠顺序
“层叠顺序”英文称作 ”stacking order”。表示元素发生层叠时候有着特定的垂直显示顺序,注意,这里跟上面两个不一样,上面的层叠上下文和层叠水平是概念,而这里的层叠顺序是规则。
在不考虑CSS3的情况下,当元素发生层叠时,层叠顺讯遵循上面途中的规则。
这里值得注意的是:
z-index
值,z-index: auto
可看成z-index: 0
级别。而如果层叠上下文元素依赖z-index
值,其层叠顺序由z-index
值决定。z-index与层叠上下文:
z-index: auto
可以看成是z-index: 0
z-index
不为auto
的定位元素创建层叠上下文z-index
层叠顺序的比较止步于父级层叠上下文如何创建层叠上下文
position
属性为非static
值并设置z-index
属性为具体数值,产生层叠上下文CSS3 中的属性对层叠上下文的影响
display
属性值为flex|inline-flex
,子元素z-index
属性值不为auto
的时候,子元素为层叠上下文元素;opacity
属性值不是1
;transform
属性值不是none
;mix-blend-mode
属性值不是normal
;filter
属性值不是none
;isolation
属性值是isolate
;will-change
指定的属性值为上面任意一个;-webkit-overflow-scrolling
属性值设置为touch
层叠上下文的特性
最佳实践
z-index
值,z-index
值没有任何道理需要超过2
z-index
值,然后在此基础上加1
作为浮层元素的z-index
值对于非浮层元素,不要过多地去运用
z-index
去调整显示顺序,要灵活地去运用层叠水平和"后来居上"的准则去让元素获得正确的显示,如果是在要设置z-index
去调整,不建议非浮层元素z-index
数值超过2
,对于 DOM 元素,-1
,0
,1
,2
足够让元素有正确的显示顺序。对于浮层元素,往往是第三方组件开发,当你无法确认你的浮层是否会百分百覆盖在 DOM 树上的时候,你可以去动态获取页面 body 元素下所有子元素
z-index
的最大值,在此基础加一作为浮层元素z-index
值,用于保证该浮层元素能够显示在最上方。参考资料
The text was updated successfully, but these errors were encountered: