IE8和怪癖模式

时间:2009-08-07 14:36:47

标签: html css xhtml internet-explorer-8

IE8是否像IE6 / 7一样以奇怪的模式运行?

我的网页上有一些真正奇怪的代码。内容以填充和负边距为中心。

它在IE6 / 7和其他浏览器中都能正常工作,但在IE8中,内容区域的宽度只有一半而且没有居中(怪癖模式的标志)。

源代码在DOCTYPE之前有三个空行。我知道这将使IE6陷入怪癖模式。它会影响IE8吗?

我无法访问源代码,因此我无法删除这些代码来测试它。

6 个答案:

答案 0 :(得分:6)

将doctype更改为HTML 5应解决一些问题。我在使用Strict doctype的IE8中遇到了min-width问题。

所以改变了这个:

<!DOCTYPE html PUBLIC“ - // W3C // DTD XHTML 1.0 Strict // EN”     “http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd” >

对此:<!DOCTYPE html>

见这里:http://davidnaylor.org/blog/2008/09/ie8-and-max-width.html

答案 1 :(得分:5)

运行一些可以找到的快速测试here似乎表明空行不应该将IE8引入Quirks模式(这与Compatability模式不同,每个人似乎都混淆了它)。

我写了一篇关于IE8 / 7 here的不同模式令人难以置信的混淆的故事,我在故障中甚至没有包含Quirks Mode。可以找到Quirks模式的详细说明here(不是原始问题,但其他人可能会觉得有趣。)

答案 2 :(得分:3)

今天,我将DOCTYPE从XHTML v1.0(Strict)更改为HTML5。我在某处读到即使IE还没有识别DOCTYPE,它们也会以符合标准的模式呈现页面。

当我在IE8中检查时,整个页面看起来很糟糕(我们有相当多的CSS和其他样式)。我花了一段时间才意识到CSS没有任何“错误”,甚至IE8也没有。但是,它以怪癖模式呈现。

无意中,我在这里发布的问题中找到了答案,特别是这条评论:“源代码在DOCTYPE之前有三个空白行。我知道这会使IE6进入怪癖模式。它会影响IE8吗?”

我不知道空行,但是当我进行更改时,我使用了javascript注释来“挂起”我的旧DOCTYPE语句(这是新的HTML5 DOCTYPE)。一旦我删除了那些行(可能包含一两行空行),我的出汗就停止了,IE8以符合标准的模式呈现。

答案 3 :(得分:0)

是的。 Internet Explorer的怪癖模式是IE5.5。当存在怪癖模式时,IE6 / 7/8切换回5.5。因为它在IE6 / 7中工作正常,所以不是怪癖模式。 IE8中有一个“兼容性视图”按钮来解决这个问题。虽然这对我来说不是一个好的解决方案。你必须检查你的CSS代码。

答案 4 :(得分:0)

IE8有一个兼容模式,应该按照IE7的方式处理页面。您是否尝试在兼容模式下查看页面?

答案 5 :(得分:0)

您可以发布指向该页面的链接或某些HTML本身吗?您可以尝试添加元标记以强制兼容模式吗?

http://www.ditii.com/2008/08/28/ie8-standards-mode-and-ie7-compatibility-mode/

或了解更多信息:

http://blogs.msdn.com/ie/archive/2008/08/27/introducing-compatibility-view.aspx