IE8是否运行在像IE6/7之类的怪癖模式?IE8和怪癖模式
我有了一些真正怪异的代码的网页。内容以填充和负边距为中心。
它工作在正确IE6/7和其他浏览器但在IE8内容区域是一半宽和不居中(标志怪异模式)。
源代码具有DOCTYPE前三个空白行。我知道这会让IE6进入怪癖模式。它会不会影响IE8?
我没有访问源代码,所以我不能删除那些行进行测试。
IE8是否运行在像IE6/7之类的怪癖模式?IE8和怪癖模式
我有了一些真正怪异的代码的网页。内容以填充和负边距为中心。
它工作在正确IE6/7和其他浏览器但在IE8内容区域是一半宽和不居中(标志怪异模式)。
源代码具有DOCTYPE前三个空白行。我知道这会让IE6进入怪癖模式。它会不会影响IE8?
我没有访问源代码,所以我不能删除那些行进行测试。
运行,可以发现here几个简单的测试,似乎表明空行不应该抛出IE8到Quirks模式(这是不同于兼容模式,每个人似乎都会把它混淆)。
我写了一篇关于IE8/7 here不同模式令人难以置信地混淆的细目,我甚至没有在细分中包含怪癖模式。 Quirks模式的详细说明可以参见here(不是原始问题,但其他人可能会觉得它很有趣。)
啊......他们的DOCTYPE是<!DOCTYPE HTML PUBLIC! “ - // W3C // DTD HTML 4.0过渡// EN”> 根据您的图表,这将引发IE8到怪癖模式。 – Emily
正面向上:链接#2(令人难以置信地混淆IE8/7的不同模式)不再有效。 –
是的。 Internet Explorer的怪癖模式是IE5.5。当存在怪癖模式时,IE6/7/8切换回5.5。因此,它在IE6/7中工作正常,这不是怪癖模式。 IE8中有一个“兼容性视图”按钮来解决这个问题。尽管如此,这不是一个好的解决方案。你必须检查你的CSS代码。
你能发布一个链接到页面或一些HTML本身吗?你可以尝试添加meta标签来强制兼容模式?
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
将doctype更改为HTML 5应该可以解决一些问题。我在使用严格文档类型的IE8中遇到了最小宽度问题。
因此改变了这个:
< 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
修复了我的问题,谢谢! – Sirber
今天,我从XHTML 1.0(严格),以HTML5改变了我们的DOCTYPE。我在某个地方读过,即使IE浏览器还不能识别DOCTYPE,他们也会以符合标准的模式呈现网页。
当我在IE8检查,整个页面看起来失衡(我们有相当多的CSS和其他造型)。我花了一段时间才意识到CSS没有任何“错误”,甚至IE8也没有。但是,它以怪癖模式渲染。
无意中,我在这里发布的问题中找到了答案,特别是这条评论:“源代码在DOCTYPE之前有三个空行,我知道这会将IE6引入怪异模式,它是否也会影响IE8?
我不知道空白行,但是当我做出改变时,我曾使用javascript评论来“粘贴”我的旧DOCTYPE语句(这是在新的HTML5 DOCTYPE之上)。一旦我删除了这些行(可能包含一行或两行),我的出汗就停止了,并且IE8以符合标准的模式呈现。
你刚刚为我节省了许多工作时间,剃刀放置@使用System.Web.Optimization高于Doctype和低,看,它击倒了IE8中的所有样式。我把它移到下面一行,它全部排序!谢谢! –
保存在你的电脑和编辑源代码。看看是否对这些空白线条进行分条。应该像瘟疫一样避免怪癖模式。 – voyager
当您在页面上不确定时,只需将以下内容粘贴到浏览器窗口中即可:javascript:alert(document.compatMode);这应该告诉你当前的模式。 – Steerpike
S /浏览器窗口/ broswer地址栏 – Steerpike