IE8自动关闭自动标记(IE8 self closing tags automatically)

2019-10-18 11:36发布

好吧我试图调试我布局,看看为什么这一切都在时髦IE8及以下..嗯,当我开始观察代码,我实现了内部元件的所有包装元素自我封闭自己。

<section id="top-bar"/>
<div class="container">
  <div class="row">
    <div class="span12">
      <p>ELEMENTS</p>
    </div>
  </div>
</div>
<div class="rivets"/>
</section/>

嗯,我的造型适用于我的CSS#顶吧:

#top-bar {
  background: #146c7e url('../images/top-bar-bg.png') repeat top left;
  color: #fff;
}

所以在IE8和低于样式不被应用。 这绝对是令人沮丧的。 这只是发生在我身上在Magento ..我所有的我对我自己做了其他的布局从来没有自我封闭自己,如果内容没有直接与他们的内部。

好的人以为我是自己加的结束标记,但这里是我的代码:

<section id="top-bar">
        <div class="container">
            <div class="row">
                <div class="span7">
                    <a href="#" class="tab">Shoppe</a>
                    <a href="#" class="tab">Local</a>
                    <a href="#" class="tab">Half Baked</a>
                </div>
                <div class="span5 mag-links">
                    <?php echo $this->getChildHtml('topLinks') ?>
                </div>
            </div>
        </div>
            <div class="rivets"></div>
    </section>

IE8会自动添加这些标签。 我不能删除它们..因此,代码工作在Chrome,火狐,IE9和最多伟大的..但IE8及以下,它启动自闭的东西。 我以前从来没有这样的问题。

Answer 1:

我认为这是发生,因为IE8不支持HTML5标记,如section 。 如果你想获得这个在IE8的工作,请致电您的文档的头以下几点:

<!--[if lt IE 9]>
  <script>
    document.createElement('header');
    document.createElement('nav');
    document.createElement('section');
    document.createElement('article');
    document.createElement('aside');
    document.createElement('footer');
    document.createElement('hgroup');
  </script>
<![endif]-->

这告诉IE8来创建这些元素,它应该能够认识到他们作为HTML元素之后。



Answer 2:

我知道你已经标志着这个特定的情况下,正确的答案,但是这可能帮助别人:

当我有这些问题,我在Firefox中打开页面,点击“查看页面源代码”,然后检查一下任何红色元素。 这表明这是不正确关闭任何代码(通常是缺少</div>并指出它曾试图为您解决问题。

现代浏览器尝试和关闭不正确的代码自动它可以是恼人的,因为你只知道东西了当客户端在旧版本的IE分吧!

希望这可以帮助其他人谁认为他们的问题是类似的。



Answer 3:

#top-bar元素不包含其他元素,所以你不能看到没有任何规模大小有一个元素的背景。

更改此:

<section id="top-bar"/>

至:

<section id="top-bar">


文章来源: IE8 self closing tags automatically