zoukankan      html  css  js  c++  java
  • div层调整zindex属性无效原因分析及解决方法

    在做的过程中,发现了一个很简单却又很多人应该碰到的问题,设置Z-INDEX属性无效。在CSS中,只能通过代码改变层级,这个属性就是z- index,要让z-index起作用有个小小前提,就是元素的position属性要是relative,absolute或是fixed。

    1.第一种情况(z-index无论设置多高都不起作用情况):

    这种情况发生的条件有三个:

    1、父标签 position属性为relative;

    2、问题标签无position属性(不包括static);

    3、问题标签含有浮动(float)属性。

    eg:z-index层级不起作用,浮动会让z-index失效,代码如下:

    1 <</code>DIV style="POSITION: relative; Z-INDEX: 9999"
    2 <</code>IMG style="FLOAT: left" src="http://www.yuanchuang.net/uploads/allimg/131101/1A5494I0-0.jpg"
    3 </</code>DIV>

    解决办法有三个(任一即可):

    1、position:relative改为position:absolute;

    2、浮动元素添加position属性(如relative,absolute等);

    3、去除浮动。

    2.第二种情况

    IE6下,层级的表现有时候不是看子标签的z-index多高,而要看整个DOM tree(节点树)的第一个relative属性的父标签的层级。

    eg:IE7与IE6有着同样的bug,原因很简单,虽然图片所在div当前的老爸层级很高(1000),但是由于老爸的老爸不顶用,可怜了9999如此强势的孩子没有出头之日啊!,代码如下:

    1 <</code>DIV style="POSITION: relative"
    2 <</code>DIV style="POSITION: relative; Z-INDEX: 1000"
    3 <</code>DIV style="POSITION: absolute; Z-INDEX: 9999"> <</code>IMG src="http://www.yuanchuang.net/uploads/allimg/131101/1A3194V7-1.jpg"> </</code>DIV
    4 </</code>DIV
    5 </</code>DIV>

    解决办法: 在第一个relative属性加上一个更高的层级(z-index:1),代码如下:

    1 <</code>DIV style="POSITION: relative; Z-INDEX: 1"
    2 <</code>DIV style="POSITION: relative; Z-INDEX: 1000"
    3 <</code>DIV style="POSITION: absolute; Z-INDEX: 9999"> <</code>IMG src="http://www.yuanchuang.net/uploads/allimg/131101/1A3194V7-1.jpg"> </</code>DIV
    4 </</code>DIV
    5 </</code>DIV>
  • 相关阅读:
    “XXXXX” is damaged and can’t be opened. You should move it to the Trash 解决方案
    深入浅出 eBPF 安全项目 Tracee
    Unity3d开发的知名大型游戏案例
    Unity 3D 拥有强大的编辑界面
    Unity 3D物理引擎详解
    Unity 3D图形用户界面及常用控件
    Unity 3D的视图与相应的基础操作方法
    Unity Technologies 公司开发的三维游戏制作引擎——Unity 3D
    重学计算机
    windows cmd用户操作,添加,设备管理员组,允许修改密码
  • 原文地址:https://www.cnblogs.com/jaycewu/p/4694786.html
Copyright © 2011-2022 走看看