IE又一个让人吐血的BUG: 关于 table的position 和 select

在IE内( 6 7 都一样) 运行下面代码 ,代码可以从附件里下载

(大家可以看一下 dom结构多么的简单啊 :( )

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>IE BUG ---- table position & select </title>

<script>
function showDiv(){
var tbox=document.getElementById("tbox");
tbox.style.display = tbox.style.display=="none"?"":"none";
}
</script>

<style>

.badtable {
width: 200px;
height:100px;

background-color: #f0f0f0;

position: relative;
}

</style>
</head>

<body>

<input onclick="showDiv()" type="button" value="show/hide" /> <br/>


<div id="tbox" >


<select>
<option>我是一个select</option>
</select>


<table class="badtable" border="1" >
<tr>
<td >表格内容1</td>
</tr>
</table>



</div>

其他内容1<br/>
其他内容2<br/>
其他内容3<br/>
其他内容4<br/>
</body>
</html>



运行以上代码
=============================================
点击 show/hide 按钮后,
div ccc 被隐藏, 里面的内容也被隐藏, 但是table 却还显示(里面的td也已经隐藏了)

解决办法一:
把是 table样式里的 "position: relative;"去掉 (positiond 等于 absolute 也不行)

解决方法二:
改那个 tbox的div 也加上 "position: relative;"

★ 以上两种解决方案 还是有一点逻辑性,最多可以归结为 IE在处理 table的position时有bug.
但是下面两个方案绝对让你吐血

解决方法三:
把那个 select 去掉,这个问题也不会出现

解决方法四:
把那个 select 放到table后面,这个问题也不会出现

=============================================
IE啊, 你可以让table不支持 position: relative;
但是为什么一定要在 table的前面有select的时候才不支持呢

IE 你太诡异了 (IE 6 和 7 都是一样的诡异)
我彻底被你打败了
=============================================
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值