IE9 CSS兼容性和DOCTYPE语句

时间:2011-12-09 04:15:22

标签: html css internet-explorer-9 doctype

我的这个页面在Chrome中运行正常,但在IE9中却没有。

我尝试使用html代码中的条件注释为IE9页面创建一个新的css。没关系。

但后来我尝试了包含doctype语句......以下情况发生了:

  • 当我在html文件中包含doctype时,一切都搞砸了 (即使在Chrome中)但是一旦我将其删除,该页面看起来很棒 Chrome和IE9。
  • 如果我重新启动IE9(或删除临时数据),页面将无效 试。

我真的不知道发生了什么。

任何帮助都会非常感激。

3 个答案:

答案 0 :(得分:3)

首先,您应该始终包含doctype。它告诉浏览器你将要播放哪些规则。

如果省略doctype,IE将假设您的标记很古老,并触发Quirks Mode,这实质上是IE 5.5的渲染。其副作用包括IE box model bug

在没有看到任何标记的情况下,我强烈建议使用W3C验证器validating your markupCSS。很多时候,Chrome和FireFox在猜测可疑标记的含义方面“更好”,IE并不是那么多。

答案 1 :(得分:3)

如前所述,始终使用doctype。没有一个,IE呈现怪异模式,你得到的将与你在其他浏览器中得到的非常不同。

如果你的代码看起来很糟糕,那么我会建议你的代码开头不好。你已经将你的网站设计为quirksmode,它会给你看起来随机的结果(它们不是,但看起来就是这样)。

您将不得不重新设计您的网站以使用标准模式。然后它将在所有现代浏览器中看起来相同(或类似)。

答案 2 :(得分:0)

首先,如果没有看到HTML / CSS,很难找到解决方案。通常,您不需要为IE ...

单独的CSS文件

另外,我建议您尝试使用HTML5 Boilerplate来帮助尽量减少浏览器的不一致。这应解决大多数问题,除非你的CSS出错。