1

我希望我的页面在 IE6、IE7 和 IE8 中以 Quirks 模式呈现。我想将所有其他浏览器(最新版本)保持在 HTML5 标准模式。

什么不起作用:

  • 将 DOCTYPE 声明放入第二行(IE 中的已知度量,但也会触发 IE9 中的怪癖)
  • 省略 DOCTYPE 声明(至少会在 FF、MDN 文档中触发怪癖)

任何想法,我如何通过纯粹的 HTML 措施来实现这一点?

一些背景:

由于边框模型的大量使用,如果较旧的 IE 处于 Quirks 模式,我的页面布局恰好呈现最佳。box-sizingIE 8 之前没有出现对 IE的支持。还有一些其他的东西,在 IE8 怪癖中也能更好地工作。

我对边界框模型的使用:

  -ms-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -o-box-sizing: border-box;
  box-sizing: border-box;
4

3 回答 3

1

您可以使用 X-UA-Compatible 元标记结合条件注释来建立它。

首先,使用条件注释在 IE 9 及更高版本中隐藏标签:

<!--[if lt IE 9]>

然后,插入一个触发 quirks 模式的元标记:

<meta http-equiv="X-UA-Compatible" content="IE=5.5" />

接下来,关闭您的条件评论:

<![endif]-->

另外,请确保您的文档以 IE9 开始,<!doctype html>这样 IE9 就不会处于 Quirks 模式;如果它已经使用了 IE 5.5 渲染引擎,它不会忽略条件注释。

于 2012-05-26T12:54:31.073 回答
0

尝试

<meta http-equiv="x-ua-compatible" content="ie=9, ie=5">
于 2012-07-09T20:47:03.520 回答
0

我知道这不是您所要求的,但是您是否考虑过使用ie7-js

IE7.js 是一个 JavaScript 库,用于使 Microsoft Internet Explorer 的行为类似于符合标准的浏览器。它修复了许多 HTML 和 CSS 问题。

这是box-sizing: border-box.

如果您页面上的任何其他内容使用 JavaScript,我相信这是最好的解决方案。

于 2011-05-13T23:08:16.313 回答