是什么让Internet Explorer陷入怪癖模式?

时间:2010-10-16 17:25:17

标签: css internet-explorer xhtml w3c-validation quirks-mode

我创建了一个在firefox,chrome等中正确呈现的网页( http://www.snow4life.yum.pl )。当然,愚蠢的IE复杂的东西,因为它自动进入怪癖模式,即使doctype是正确设置和站点遍历w3 validation(有一个错误,错过了一些char,但文件已在十六进制编辑器中清除)。如何阻止ie进入怪癖模式?有什么办法吗?

4 个答案:

答案 0 :(得分:26)

尝试在DOCTYPE之前删除所有空格。

编辑:有一个<feff>字符,它是文件开头的Unicode BOM签名。由于您可能没有可以实际看到的文本编辑器,请尝试删除整个第一行并使用

粘贴它
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

请勿使用BOM unicode签名保存文件。如果这不起作用,请尝试使用其他文本编辑器。

答案 1 :(得分:7)

将以下代码粘贴到头标记

<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">

答案 2 :(得分:6)

如果在DOCTYPE之前有任何内容,也会触发任何版本的IE中的怪癖模式。 例如,如果超文本文档在DOCTYPE声明之前包含注释,空格或任何标记,IE将使用怪癖模式:

<!-- This comment will put IE 6, 7, 8, and 9 in quirks mode -->
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">

答案 3 :(得分:3)

我在第一条评论中添加了doctype,然后添加了元标记,它的工作非常感谢人们....并且不用了IE :(

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
    http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">

我刚刚将doctype更改为html5,它仍然可以正常运行

 <!DOCTYPE html> 
    <html>
      <head> 
        <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">