Internet explorer 在IE8及以下版本上未正确渲染站点

Internet explorer 在IE8及以下版本上未正确渲染站点,internet-explorer,rendering,Internet Explorer,Rendering,几天前,我用一个新的设计更新了我的主页,如图所示 当我在最新版本的Google Chrome、Internet Explorer 9和Mozilla Firefox上进行测试时,新设计似乎运行良好。该网站确实使用了响应性设计,而且似乎也在使用我的Xperia Ray。 但在我的大学里,我们有InternetExplorer8和InternetExplorer7。所以我试着在我的虚拟机上用WindowsXP、IE7测试这个站点,这个站点看起来呈现如下 有点不对劲。请帮助我解决此渲染问题。 网

几天前,我用一个新的设计更新了我的主页,如图所示

当我在最新版本的Google Chrome、Internet Explorer 9和Mozilla Firefox上进行测试时,新设计似乎运行良好。该网站确实使用了响应性设计,而且似乎也在使用我的Xperia Ray。
但在我的大学里,我们有InternetExplorer8和InternetExplorer7。所以我试着在我的虚拟机上用WindowsXP、IE7测试这个站点,这个站点看起来呈现如下 有点不对劲。请帮助我解决此渲染问题。 网站的直接链接是

ankurm.com

您可以使用microsoft的筛选标记为抛出错误的浏览器导入不同的样式表

如果小于msie 9
如果大于msie 8
这样你就可以截取并使用不同的样式。您还可以根据浏览器版本导入不同的样式表


通常只有internet explorer会打嗝,所以条件格式应该足够了。

您正在使用一些HTML5元素。IE8及以下版本只需忽略未注册的元素,如
。用于使IE识别这些元素

此外,您使用了大量的JS。我看不出这样的页面有什么必要。我不知道你用什么来构建页面,但是当我禁用JS时,结果看起来不好。如果HTML5本身不能解决问题,那么进一步调试您的问题也会很困难

最后,如果你问这样的问题,请提供一个链接到你的页面,这样我们就不必从你的截图中阅读


编辑:哦,你在最后贴了,但是没有链接。我的错。

你在使用HTML5元素。问题是IE8和更早版本没有将CSS样式应用于未知元素。您必须按以下方式进行注册:

<!--[if lt IE 9]>  
  <script type="text/javascript">  
    document.createElement("header");  
    document.createElement("footer");  
    document.createElement("section");   
    document.createElement("aside");  
    document.createElement("nav");  
    document.createElement("article");   
    document.createElement("hgroup");   
    document.createElement("time");  
  </script>  
<![endif]--> 


ECMAscript库可以为您完成此任务。

谢谢。我改用HTML5
<!--[if lt IE 9]>  
  <script type="text/javascript">  
    document.createElement("header");  
    document.createElement("footer");  
    document.createElement("section");   
    document.createElement("aside");  
    document.createElement("nav");  
    document.createElement("article");   
    document.createElement("hgroup");   
    document.createElement("time");  
  </script>  
<![endif]-->