首页 > CSS, 技术 > IE8 form嵌套导致DIV重复显示

IE8 form嵌套导致DIV重复显示

2010年7月23日 作者: 发表评论 阅读评论

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

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

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

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

具体现象

如果代码的结构如下面所示

<form id="form1">
    <div>
        <form id="form2">
        </form>
    </div>
</form>

那么这段div就会在下面重复显示一次(IE8下,只是重复显示一个空的div)

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

下图显示的是div设置了高度,下面会重复显示一个同样的div

总结

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

无觅相关文章插件,快速提升流量

分类: CSS, 技术 标签: , , , 阅读:332  纯文字版
  1. 2010年7月23日23:16

    是沙发么?

    [回复]

    自由人 回复:

    yes!

    [回复]

  2. 2010年7月23日23:46

    你博客字体真大。。

    [回复]

    自由人 回复:

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

    [回复]

  3. 2010年7月24日00:07

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

    [回复]

  4. 2010年7月24日06:40

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

    [回复]

    自由人 回复:

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

    [回复]

  5. 2010年7月24日08:59

    逐一排除 解决问题

    [回复]

  6. 2010年7月24日15:18

    删掉form~~·

    [回复]

  7. 2010年7月24日23:28

    过来学习下!!

    [回复]

  8. 2010年7月27日04:23

    暂时没用ie8 FX迷·路过

    [回复]

  9. 2010年7月27日17:53

    IE8。。。。。几百年没打开过了

    [回复]

  10. 2010年7月27日19:23

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

    [回复]

    自由人 回复:

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

    [回复]

  11. 2010年7月29日12:09

    一直没考虑过IE8..

    [回复]

  12. 2010年7月29日16:42

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

    [回复]

  13. 2010年7月30日14:19

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

    [回复]

  14. 2010年8月4日13:49

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

    [回复]

    自由人 回复:

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

    [回复]