ZenOven's Archivers

From zenoven on 2010-07-23 22:04:30

IE8 form嵌套导致DIV重复显示

今天在做页面的时候发现了个奇怪的现象,一段代码在IE8下DIV好像重复显示了。(下面两段是经过,可以无视直接跳到具体现象那一部分)

在.NET群里面问了半天无果,雷锋QQ群众多朋友帮助下也没有找到原因,朋友们说也都是在IE8下有问题。检查这段代码的HTNL、CSS好多次,无果。无奈,一个个删这段代码之前、之后的代码,差不多删完了也同样没有找到。这段代码没问题啊。。。突然想到了这里面的form标签,对了,母版页也有个form!删了这段代码的form,OK!

晕。。。真没想到竟然是这个原因!现在想来,我这么久才找到bug所在,一方面是因为这段代码之前在纯HTML页面的时候是没有问题的,而粘贴到VS2005后,VS2005必须有一个默认的form ,另一方面我用了母版页,我一直以为是母版页有bug(因为前两天我用母版页的时候出过问题)

*********************************************

具体现象


如果代码的结构如下面所示
[code lang="html"]
<form id="form1">
<div>
<form id="form2">
</form>
</div>
</form>
[/code]
那么这段div就会在下面重复显示一次(IE8下,只是重复显示一个空的div)

而且如果这个div没有设置高度而设置了border,那么下面重复的效果就是条线,如果设置了高度,那么下面就是一个同样的div效果。

下图显示的是div设置了高度,下面会重复显示一个同样的div<img class="size-full wp-image-1385 aligncenter" title="IE8重复显示DIV" src="http://www.zenoven.com/wp-content/2010/07/IE8重复DIV.jpg" alt="" width="367" height="461" />

总结


粘贴代码的时候一定要注意环境,就像我之前虽然已经检测过代码无误,但是环境改变了,form嵌套问题就出在这里。另外问题出现的时候如果实在找不到原因,排除法很好。

查看完整版本: IE8 form嵌套导致DIV重复显示

From N on 2010-07-23 23:16:19

是沙发么?

From 自由人 on 2010-07-23 23:41:13

yes!

From QiQBoY on 2010-07-23 23:46:56

你博客字体真大。。

From 自由人 on 2010-07-24 00:07:25

呵呵 以前觉得inove的字体小 看着不舒服就给调大了

From 飞晏 on 2010-07-24 00:07:45

程序用母版页会有一些问题 我还是喜欢简单一些 不要太依赖微软

From 记忆盒子 on 2010-07-24 06:40:36

.net都只能使用一个form,你怎么写了2个form?

From ifenwen on 2010-07-24 08:59:58

逐一排除 解决问题

From 自由人 on 2010-07-24 10:44:25

代码HTML直接拖进来的,而且两个内容页一个问题明显另外一个基本上看不出就没想到是form

From iamlukas on 2010-07-24 15:18:02

删掉form~~· :(9): :(9): :(9): :(9):

From 小江博客 on 2010-07-24 23:28:41

过来学习下!!

From 二十六公斤 on 2010-07-27 04:23:33

暂时没用ie8 FX迷·路过 :(16):

From Afio on 2010-07-27 17:53:33

IE8。。。。。几百年没打开过了 :(3):

From 园子 on 2010-07-27 19:23:54

原来IE8也是这么的不好用啊。

From 自由人 on 2010-07-27 22:07:22

其实也这也不算是IE8的罪过,根源是form嵌套,这本身就是不规范的

From 阿七 on 2010-07-29 12:09:15

一直没考虑过IE8.. :(6):

From sky on 2010-07-29 16:42:12

IE8只是偶尔测试一下用一下的

From 龙崽 on 2010-07-30 14:19:28

貌似图片显示不出来。。。 最近电脑坏了,来占座,哈哈哈

From Dorole on 2010-08-04 13:49:34

貌似form嵌套本身就不能这么用,尤其是模板页,以前也遇到过。

From 自由人 on 2010-08-04 17:31:49

对的,form本身就不能嵌套,只是刚开始把原因都放在了母版页上

Tags: DIV, form, IE8, 嵌套


©ZenOven