360  执行  登录框  Bing  编码  XmlHttp  静态  dl

您所在的位置:小祥子 » 编程 » CSS » 正文

IE6浏览器下div无法遮盖select下拉框解决方法

时间:2015-07-07 编辑:一落叶而知秋 来源:CnBlogs

IE6浏览器下div无法遮盖select下拉框解决方法:
在IE6浏览器下,select下拉框无法被div遮盖,其他的主流浏览器都是正常的。这里简单介绍一下如何解决此问题。
默认状态下IE6的表现:

<!DOCTYPE html>
<html>
<head>
<meta charset=" utf-8">
<meta name="author" content="http://www.51texiao.cn/" />
<title>IE6下无法覆盖select-蚂蚁部落</title>
<style type="text/CSS">
.mydiv
{
  width:300px;
  height:300px;
  position:absolute;
  background-color:green;
  left:50px;
}
</style>
</head>
<body>
<div class="mydiv"></div>
<div>
<select name="myselect">
  <option value="1">div+css专区</option>
  <option value="2">jQuery专区</option>
</select>
</div>
</body>
</html>

以上代码在IE6浏览器下就会显现出此问题,在其他主流浏览器中是正确显示。
解决方案:

<!DOCTYPE html>
<html>
<head>
<meta charset=" utf-8">
<meta name="author" content="http://www.51texiao.cn/" />
<title>IE6下无法覆盖select-蚂蚁部落</title>
<style type="text/css">
.mydiv
{
  width:300px;
  height:300px;
  position:absolute;
  background-color:green;
  left:50px;
  z-index:6;
}
.myframe
{
  width:300px;
  height:300px;
  border:none;
  position:absolute;
  left:50px;
  z-index:5;
  filter:alpha(opacity=0);
}
</style>
</head>
<body>
<div class="mydiv"></div>
<select name="myselect" style="position:absolute;z-index:4">
  <option value="1">div+css专区</option>
  <option value="2">jQuery专区</option>
</select>
<!--[if lte IE 6]>
<iframe class="myframe"></iframe>
<![endif]-->
</body>
</html>

解决方案分析:
虽然div无法覆盖select下拉框,但是iframe能够覆盖select下拉框,而div又可以覆盖iframe,通过三个元素的一些列覆盖关系来实现想要的效果。实现步骤如下:
一.创建一个与div同等尺寸的iframe元素用来覆盖select下拉框。并且通过判断当前浏览器是否为IE6来决定iframe是否生效。
二.让div、select和iframe元素都使用绝对定位,这样他们三个就脱离文档流,可以相互覆盖了。
三.通过使用z-index属性确定三个元素的覆盖关系。

原文地址是:http://www.51texiao.cn/div_cssjiaocheng/2015/0429/417.html

关键词:浏览器 div 方法