【问题标题】:HTML 5 webpages display hapardzardly in IE8HTML5 网页在 IE8 中随意显示
【发布时间】:2013-05-18 19:46:50
【问题描述】:

我最近开始在 HMTL 5 中开发页面,并且在除 IE 之外的所有其他浏览器中一切正常。可能是什么问题?

提前谢谢你!

【问题讨论】:

  • 您在这里没有提供足够的信息来做出准确的诊断。但是如果你在 IE8 中使用 HTML5 标签,那么你需要使用 html5shiv 或 Modernizr,否则 IE8 将无法正确识别 HTML5 标签。
  • @Spudley 我添加了链接以显示 IE8 中的错误,但我被告知这是不允许的,所以我将它们删除,但感谢答案。 Modernizr 为我解决了这个问题。
  • 我不是这个意思。我知道它现在已经解决了,但是对于未来的参考,您只需要提供更多细节:例如,特定标签会出现问题吗?告诉我们。您是否进行了任何可能帮助我们解决问题的分析?你已经尝试过什么来解决它? (所以我们知道您实际上已经尝试过,而不仅仅是在出现问题时立即寻求帮助,而且我们不会浪费时间在您已经尝试过的想法上)。并尝试将其缩减为显示问题的一小段代码;我不想涉足整个网站的代码,但一个小演示来查明问题可能会有所帮助。
  • 嘿,对不起,这很罗嗦,但希望它会有所帮助:)

标签: html internet-explorer internet-explorer-8 cross-browser


【解决方案1】:

IE 不理解新的 HTML5 元素,您需要包含一个脚本,为 IE 启用这些元素。

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

更多信息:html5 shiv

我总是使用modernizr,它为你做同样的工作:

【讨论】:

    【解决方案2】:

    试试

    <!--[if lt IE 9]>
    <script src="http://modernizr.com/downloads/modernizr-latest.js"></script>
    <![endif]-->
    

    如果你正在构建响应式网站,你应该使用

    <!--[if lt IE 9]>
        <script src="js/vendor/modernizr-2.6.2-respond-1.1.0.min.js"></script>
    <![endif]-->
    

    您可以从http://www.initializr.com/下载的文件

    【讨论】:

      【解决方案3】:

      那是因为 Internet Explorer 对 CSS 和新的 HTML5 标签的解释不同于其他浏览器。

      请参阅:smasingmagazine.com 上的css-differences-in-internet-explorer-6-7-and-8

      有一个 HTML5 样板可用,它消除了一些跨浏览器差异,但不是全部:html5boilerplate.com

      此外,与库modernizr 结合使用,您可以最大限度地减少差异。但是当你开发一个网站时,你总是必须检查所有浏览器的渲染,因为不同的浏览器不会渲染相同的。

      【讨论】:

      • 这与CSS无关,IE不识别html5元素,将其显示为内联元素。因此页面看起来会损坏。
      • 我刚刚编辑了我的答案,坦克。虽然不会使我的答案变得不那么有用,但感谢您的反对。 @马克
      • Anser 这样有更多有用的内容,谢谢@Mark!你真的最了解!
      猜你喜欢
      • 2013-09-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-06-10
      相关资源
      最近更新 更多