IE8 form嵌套导致DIV重复显示

GD Star Rating
loading...

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

在.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嵌套问题就出在这里。另外问题出现的时候如果实在找不到原因,排除法很好。

IE8 form嵌套导致DIV重复显示, 5.0 out of 5 based on 2 ratings

已有19条评论 发表评论

  1. Dorole /

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

    GD Star Rating
    loading...
    1. 自由人 / 本文作者

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

      GD Star Rating
      loading...
  2. 龙崽 /

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

    GD Star Rating
    loading...
  3. sky /

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

    GD Star Rating
    loading...
  4. 阿七 /

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

    GD Star Rating
    loading...
  5. 园子 /

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

    GD Star Rating
    loading...
    1. 自由人 / 本文作者

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

      GD Star Rating
      loading...
  6. Afio /

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

    GD Star Rating
    loading...
  7. 二十六公斤 /

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

    GD Star Rating
    loading...
  8. 小江博客 /

    过来学习下!!

    GD Star Rating
    loading...
  9. iamlukas /

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

    GD Star Rating
    loading...
  10. ifenwen /

    逐一排除 解决问题

    GD Star Rating
    loading...
  11. 记忆盒子 /

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

    GD Star Rating
    loading...
    1. 自由人 / 本文作者

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

      GD Star Rating
      loading...
  12. 飞晏 /

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

    GD Star Rating
    loading...
  13. QiQBoY /

    你博客字体真大。。

    GD Star Rating
    loading...
    1. 自由人 / 本文作者

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

      GD Star Rating
      loading...
  14. N /

    是沙发么?

    GD Star Rating
    loading...
    1. 自由人 / 本文作者

      yes!

      GD Star Rating
      loading...

发表评论