好吧我正在尝试调试我的布局,看看为什么它在IE8及以下都很时髦..当我开始观察代码时,我意识到内部元素的所有包装元素都是自我关闭的.
<section id="top-bar"/>
<div class="container">
<div class="row">
<div class="span12">
<p>ELEMENTS</p>
</div>
</div>
</div>
<div class="rivets"/>
</section/>
Run Code Online (Sandbox Code Playgroud)
我的样式应用于CSS中的#top-bar:
#top-bar {
background: #146c7e url('../images/top-bar-bg.png') repeat top left;
color: #fff;
}
Run Code Online (Sandbox Code Playgroud)
因此在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>
Run Code Online (Sandbox Code Playgroud)
IE8正在自动添加这些标签.我无法删除它们..因此代码在Chrome,Firefox,IE9及以上版本中运行良好..但IE8及以下版本,它启动了自动关闭的东西.我以前从未遇到过这个问题.
小智 7
我认为这是因为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]-->
Run Code Online (Sandbox Code Playgroud)
这告诉IE8创建这些元素,它应该能够在之后将它们识别为HTML元素.