为什么页脚在Internet Explorer 8和11中无法正确显示?

时间:2015-03-05 21:52:28

标签: css internet-explorer dom position absolute

在代码标签中,主页和页脚位于同一级别。



 <main class="Full">
  <div class="Sleeve">
   <div class="Columns">
     <div class="LeftCol">	 </div>
	 <div class="RightCol">   </div>
    </div>
   </div>	
  </main>
  <footer class="Full">
     <div class="Sleeve">
	   <div class="FooterData"> 2014 - 2015<div id="mymap"></div></div>
     </div>
  </footer>
&#13;
&#13;
&#13;

但IE11在div.RightCol之后将Footer删除为Main。我不知道为什么IE重新设计DOM如此奇怪? 附:我希望页脚总是放在页面底部,因此对于css中的页脚我指定位置:绝对。也许这是麻烦的原因?或者IE无法定义标签Footer和Main(Doctype - html5)的原因?


页脚在关闭主标签后。


非常感谢!这正是我所需要的。


UPD:的确,在IE11中一切都还可以,我在HTML代码中犯了错误。我很抱歉误导了这个问题。

1 个答案:

答案 0 :(得分:0)

标记mainfooter来自HTML5语义。在Internet Explorer中,从版本9开始支持HTML5标记。请参阅caniuse website

因为IE8无法识别这些标记,所以您的DOM是混乱的。但是,如果您想要启用&#39; IE8中的这些标签。

您必须在项目中导入名为html5shiv的库。然后,在您网页的<head>中添加以下内容:

<!--[if lt IE 9]>
    <script src="path/to/html5shiv/html5shiv.js"></script>
<![endif]-->

这是一个条件评论,意思如下:

如果浏览器 lt IE9 (=小于IE9),请加载脚本html5shiv

如果加载,脚​​本将创建缺少的元素:

article 
aside 
figcaption 
figure 
footer 
header 
main 
nav 
section

和其他一些人。