百分百源码网-让建站变得如此简单! 登录 注册 签到领金币!

主页 | 如何升级VIP | TAG标签

当前位置: 主页>网站教程>CSS教程> ie浏览器中z-index失效问题解决办法
分享文章到:

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

发布时间:01/15 来源: 浏览: 关键词:
今天发现ie7浏览器中z-index失效了,但在ff或其它浏览器都是没问题了,后来看了几篇相关的文章得到解决办法,下面与各位同学分享一下。

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

 代码如下

<style>
li { position: relative; width: 100px; height: 50px; background: blue; margin-bottom: 10px; z-index: 1; }
a { position: absolute; top: 0; left: 0; display: block; width: 80px; height: 100px; }
.a1 { background: red; width: 50px; z-index: 3; }
.a2 { background: yellow; z-index: 2; }
</style>
<ul>
    <li><a href="#" class="a1">xinple</a></li>
    <li><a href="#" class="a2">org</a></li>
</ul>

 可以看到,第一个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,就实现了:

 代码如下

<li style="z-index:4"><a href="#" class="a1">xinple</a></li>


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


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

解决办法:

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

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

 代码如下

<div style="position:relative;z-index=2">

<p style="position:absolute;z-index=99"> ...(要在上层显示的内容)</p>

<div>

<div style="position:relative;z-index=1">

...

<div>

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

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

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

打赏

打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

百分百源码网 建议打赏1~10元,土豪随意,感谢您的阅读!

共有9人阅读,期待你的评论!发表评论
昵称: 网址: 验证码: 点击我更换图片
最新评论

本文标签

广告赞助

能出一分力是一分吧!

订阅获得更多模板

本文标签

广告赞助

订阅获得更多模板