层叠规则
层叠顺序指的是元素发生重叠时那个在上,那个在下
z-index 必须和 position 不为 static 的值连用。CSS3 中新增了 flex盒子 的孩子元素。
层叠上下文,如果一个元素具备形成了层叠上下文的条件,则它与子元素的层叠规则就区别于其他元素。
当我们在谈层叠顺序时,我们往往不能避开层叠上下文。
层叠顺序
从上往下依次递增
层叠上下文 background/border
负 index
block 块状水平盒子
float 浮动盒子
inline 内联水平盒子 (包括 inline, inline-block, inline-table 元素)
z-index: auto 或视作 z-index: 0;不依赖 z-indx 的层叠上下文
正 z-index
层叠准则
z-index 起作用时, 大的在上面
层叠水平一致时,后面的在上面
层叠上下文
特性:
层叠上下文的层叠水平 大于 普通元素
层叠上下文嵌套时,层叠水平的基础是最外层的层叠上下文
层叠上下文只考虑子元素
生成条件:
html 元素
z-index 为数值的定位元素(positiotn 不为 static)
一些 css3 属性
CSS3 一些主要的形成层叠上下文的属性
flex 布局元素, z-index != auto
opacity != 1
tranform != none
filter != none
技巧
z-index 等于 负值 可以隐藏元素
普通场景(除了悬浮在所有元素上面的场景)不要让 z-indx 超过 2