ie浏览器中z-index失效问题解决办法

作者:袖梨 2022-06-25

当position为relative或者absolute或者fixed的时候,可以使用z-index指定当前元素的层级关系,值越大元素就越在上面,从而实现盖住下面元素的目的。但是遇到下面这种情况,会发现z-index值大的确盖不住值小的元素:

 代码如下 复制代码


 可以看到,第一个li里面的a元素z-index为3,但是盖不住第二个li里面z-index为2的a元素(如果不设置li的z-index,firefox可以但IE6不行)。这是因为z-index会传递父元素的值,当第一个li中的a去覆盖第二个li里面的a时,因为父元素li的z-index值为1,所以盖不住值为2的元素了,这时候只需要设置父元素的z-index的值大于下面的a2,就实现了:

 代码如下 复制代码

  • xinple

  • 如果是在同一个父元素下面,则按照z-index值大小来层叠,注意,不管父元素z-index值多大,子元素都能盖再其上面。


    关于在ie7下z-index无效解决方法

    解决办法:

    父级元素加上position:relative;并设置z-index.

    父级元素的z-index优先,其中包含的元素的z-index是相对于父级元素的index.

     代码如下 复制代码

    ...(要在上层显示的内容)

    ...

    上面的例子中,倘若将第一个div的z-index设置为-1,则无论p的z-index为多少,多会被下面的div遮住。

    相反,倘若下层div的z-index也设置成2,ie7正在解释时,会按照"position:relative"的层的顺序,自动叠加,即实际值是3.

    没有加position属性时,所有值继承自父级。

    相关文章

    精彩推荐