IE7 Z-Index 分层问题 [英] IE7 Z-Index Layering Issues
本文介绍了IE7 Z-Index 分层问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我已经隔离了 IE7 的 z-index
错误的一个小测试用例,但不知道如何修复它.我整天都在玩 z-index
.
IE7 中的 z-index
有什么问题?
测试 CSS:
input {边框:1px 实心 #000;}div {边框:1px 实心 #00f;}ul{边框:1px 实心 #f00;背景色:#f00;列表样式类型:无;边距:0;填充左:0;z-索引:1000;}李{颜色:#fff;列表样式类型:无;填充左:0;左边距:0;}跨度.信封{位置:相对;}span.envelope ul {位置:绝对;顶部:20px;左:0;宽度:150px;}
测试 HTML:
解决方案
Z-index 不是绝对测量.z-index: 1000 的元素可能位于 z-index: 1 的元素后面 - 只要各个元素属于不同的堆叠上下文.
当您指定 z-index 时,您是在相对于同一堆叠上下文中的其他元素指定它,尽管 CSS 规范关于 Z-index 的段落 说一个新的堆叠上下文只为定位内容创建z-index 不是 auto(意思是你的整个文档应该是一个单一的堆叠上下文),你确实构造了一个定位范围:不幸的是,IE7 将没有 z-index 的定位内容解释为一个新的堆叠上下文.
简而言之,尝试添加此 CSS:
#envelope-1 {position:relative;z-索引:1;}
或重新设计文档,使您的跨度不再具有位置:相对:
<头><title>Z-Index IE7 测试</title><style type="text/css">ul{背景色:#f00;z-索引:1000;位置:绝对;宽度:150px;}</风格>头部><身体><div><label>输入#1:</label><输入><br><ul><li>item<li>item<li>item<li>item</ul>
<div><label>输入#2:</label><输入>