知识分享由:快连官网
今天遇到一个IE8下的奇葩问题,当一个容器中存在FORM元素,并且FORM元素的内容不为空时,容器本身会被多次渲染(不包括容器所包含的内容)。这个问题在更低版本的IE中都没有出现,唯有IE8中枪。于是折腾了几个小时,终于找到了导致这个BUG的原因。
下面是BUG重现:
运行<style>
div {
border:1px solid red;
background:#FCC;
width:260px;
height:32px;
}
</style>
<div>
<form>
<input name="n" />
</form>
</div>
红色的DIV块在DOM中只有1个,但渲染成了两个,这就是BUG所在。这个问题产生的原因是IE8只对BODY内的FORM正常渲染,上面的例子中由于没有写BODY,因此FORM就无法正常渲染。所以解决方法就是补上BODY标签!
运行<style>
div {
border:1px solid red;
background:#FCC;
width:260px;
height:32px;
}
</style>
<body>
<div>
<form>
<input name="n" />
</form>
</div>
</body>
本文来源于上海网站建设公司与上海网站设计制作公司-广帆互动上海公司!