abcc项目实现这样一个功能:点击“上载查询”,弹出一个绝对定位的div(类似qq文件中转站的“上传文件”按钮),里面有上传按钮等,点击后div在最上层。即z-index为最大。在firefox下表现良好,在IE6下无论如何也盖不住select。墨墨说是IE下一个著名的bug,解决方法用一个iframe包住select。
以下是一个测试的静态html,为bug重现及及解决方法。
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
<style type="text/css">
#d1,#d2 {
width: 400px;
height : 400px;
}
#d1 {
position : absolute;
top : 100px;
background : red;
z-index : 1;
}
#d2 {
position : absolute;
top : 150px;
background : blue;
z-index : 2;
}
</style>
</head>
<body>
<div id="d1">
<form>
<input type="text" name="username"/>
</form>
<p>中國</p>
<form>
<iframe style="z-index:1"><!-- 用iframe 解决此bug -->
<select name="country">
<option value="1">china</option>
<option value="2">japanese</option>
<option value="1">U.S.A</option>
</select>
</iframe>
</form>
</div>
<div id="d2">ddd</div>
</body>
</html>
分享到:
相关推荐
在IE6的環境下,如果網頁上有div區塊和下拉選單重疊在一起的時候,即使再怎麼調整下拉選單的z-index,下拉選單還是會把div區塊蓋住(在Firefox是正常的),google了一下網路上的資料,大多是用iframe來解這個問題,但...
position值为非static时,如果不设置z-index属性,IE6/7下z-index默认为0,而IE8及以上浏览器z-index为auto,且zindex:auto的元素不参与堆叠优先级比较。 ff/chrome z-index IE6/7 IE8/9 不设置 0 auto au
在非IE7浏览器中,z-index的使用是相对直观和可靠的,但在IE7及更早版本中,由于引擎的限制或bug,出现了上述提到的覆盖问题。 在传统的CSS中,position:relative 与 position:absolute 是常用的定位方式。position...
今天我说说iframe解决的一般方法,已经使用jQuery插件bgiframe解决IE6 select z-index无效,遮挡div的bug。 解决方法之一:Iframe包裹select元素 使用iframe包住select,这样iframe有z-index,只要在div上设置的z-...
本文将深入探讨如何利用jQuery解决一个特定的问题:在IE6下,Select元素总是显示在具有较高z-index的图层(如div)之上。 首先,我们要理解z-index的概念。在CSS中,z-index是一个用于控制元素在垂直方向(即Z轴)...
总结来说,解决IE6下三级下拉菜单被`<select>`遮挡的问题主要通过以下两步: 1. 在下拉菜单元素之前插入一个透明的`<iframe>`,提高菜单的z-index层次。 2. 使用CSS控制菜单的布局和交互效果,包括定位、浮动、显示...
但是,IE6并不完全支持`z-index`,导致在某些情况下,即使设置了较高的`z-index`,弹出层仍然会被其他元素遮挡。这在使用多个重叠的弹出层时尤为明显。 为了解决这个问题,我们可以利用jQuery动态调整元素的`z-...
}`,这种写法只会在IE6下生效。 在提供的压缩包文件“解决下拉菜单在IE6中的bug”中,可能包含了具体的代码示例或修复策略,例如JavaScript脚本或CSS样式。通过查看这些文件,你可以得到更具体的解决步骤。在实际...
然而,在旧版IE浏览器中,特别是IE6,存在一个著名的bug,使得某些元素的z-index无法正确生效,特别是在浮动元素和绝对定位元素之间。这个问题通常会导致重叠元素的显示异常,遮挡了预期应该在上层显示的内容。 ...
`position:absolute`在IE6下可能无法正常工作,需要使用`position:relative`和`left/top`配合,或者使用`position:static`和`margin`调整。 8. **层叠上下文** IE6对层叠上下文的理解不同于其他浏览器,可能导致z...
在早期的Internet Explorer 6(简称IE6)浏览器中,存在一个著名的布局bug,这个问题主要涉及到`<select>`元素与`<div>`元素的层叠上下文(Z-index)处理。当一个`<div>`元素试图遮盖页面中的下拉列表框`<select>`时...
- **IE6的`z-index`无效**:在某些情况下,IE6的`z-index`不起作用,可以通过设置父元素的`hasLayout`或使用`position:relative`解决。 - **3像素问题**:在IE6中,水平边距计算错误,可通过负边距修正。 - **...
3. 浮动问题:IE6下浮动元素可能导致高度塌陷,需使用clearfix方法解决。 4. 层叠上下文:IE浏览器对于层叠上下文的处理与Firefox有所不同,可能需要调整`z-index`。 十三、微软IE6浏览器的应用分析 IE6的兼容性...
6. **IE6下绝对定位的容器内文本无法正常选择** - 这是一个已知的IE6问题。可以通过设置`position: relative;`和`z-index`来解决。 7. **CSS双线凹凸边框** - 可以使用多重`border`或`box-shadow`来创建双线...
总的来说,IE6下的`div`层被`select`控件遮住的问题可以通过在`div`内添加一个负`z-index`的`iframe`来解决。虽然如今IE6的使用率已经非常低,但了解这个历史遗留问题以及它的解决方案对于理解浏览器兼容性和前端...
在这个例子中,尽管绝对定位的黄色元素设置了较高的`z-index`,但由于它与后续的相对定位元素重叠,且父元素没有足够的`z-index`来保证其显示,因此在IE6和IE7中可能会被遮挡。解决这个问题的常见办法是提升父元素的...
但是IE6有一个神奇的逻辑,div 无法覆盖select,但是iframe 可以覆盖select,而div可以覆盖iframe,所以解决办法就是用Z轴高度更高的Iframe元素,包裹或覆盖住下拉列表框控件,使其回到正常的Z轴高度上来!...
2. **z-index BUG依然存在**:IE8并没有完全修复z-index的处理方式,可能导致层叠顺序的混乱。开发者可能需要使用负值z-index或其他Hack来解决。 3. **行高(line-height)BUG**:IE8可能存在新的行高渲染问题,这...