好吧,我正在试着调试我的布局,看看为什么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及以下版本中,这种风格并不适用。这绝对令人沮丧。这只发生在我身上的马金托。。我自己做的所有其他布局,如果内容不是直接在其中的话,就不会自动关闭。
好吧,人们认为我是在自我添加那些结束标记,但这里是我的代码:
<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、Firefox、IE9和更高版本中工作得很好。。但是IE8和更低版本,它开始了自我封闭的过程。我以前从没遇到过这个问题。
最佳答案
我认为这是因为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元素。
关于html - IE8自动关闭标签,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18086885/