position为fixed时设置z-index失效
来源:互联网 发布:linux snmp起不来 编辑:程序博客网 时间:2024/06/15 20:49
作为一个假的前端,在调试一个页面时出现了如下bug。
左侧的菜单固定为fixed时,二级菜单无法设置有效的z-index,导致菜单隐藏在页面元素之下,明明页面元素的z-index是1,但是无论把菜单的z-index设置为多大,都不管用。
查阅了资料,原来谷歌浏览器在设置position:fixed;后会触发元素创建一个新的层叠上下文,并且当成一个整体在父层叠上下文中进行比较。如上面的dom结构,当给b设置了position:fixed;属性后,会触发创建一个新的层叠上下文,它的父层叠上下文变成了a,所以b只能在a的内部进行层叠比较。这也就是大家熟听的“从父原则”。
所以本来所有元素都在root内比较,改为fixed之后只能在父级元素内比较,而父级元素没有设置z-index,所以无法比较。
所以解决方案是给父级元素设置z-index,一般设置为0就可以了。
摘抄两点:
1. z-index只有在设置了position为relative,absolute,fixed时才会有效。
2. z-index的“从父原则”。当你发现把z-index设的多大都没用时,看看其父元素是否设置了有效的z-index,当然别忘了先看看自身是否设置了position。
阅读全文
0 0
- position为fixed时设置z-index失效
- position:fixed中z-index不起作用
- position:relative/absolute/IE6/z-index失效
- position属性(absolute; relative; fixed)以及相关属性z-index
- 关于z-index设置无效,设置position
- z-index属性适用于定位元素(position 属性值为 relative 或 absolute 或 fixed的对象)
- DIV position z-index 设置层级
- position:fixed失效问题
- position:fixed失效的问题
- iframe中position:fixed失效
- z-index失效原因
- z-index失效情况
- z-index失效!!!!
- z-index失效
- 元素position设置为fixed而未指定top、bottom、left、right时的定位
- position中z-index问题
- relative、position与z-index
- about position and z-index
- 初识UML
- maven-M2E及Extras的安装和使用
- 【基础】Unity Mesh(一) 初步使用Mesh画平面图形
- Linux系统安装android studio
- (6)RxJava2+Retrofit2+OkHttp3系列(RxJava2-6)
- position为fixed时设置z-index失效
- OpenCV 技术教程-人脸检测
- A Context-aware Attention Network for Interactive Question Answering--阅读笔记
- Spring Boot Mybatis 整合
- 数据库范式(1NF 2NF 3NF BCNF)
- 9基于opencv的图像金字塔_高斯金字塔_拉普拉斯金字塔与图片尺寸缩放
- 排序算法总结
- python除法:传统除法,真除法,floor除法
- Flip game