我在 IE7 中遇到显示问题,因为它在 quirks 模式下呈现。我已经通过显示“document.compatMode”并返回“BackCompat”而不是“CSS1Compat”来确认这一点。使用 IE8 并恢复到 IE7 是可行的,因为这样可以避免怪癖。在普通的 IE8 中,我通过使用 X-UA-Compatible header 强制渲染模式来修复它,但这不适用于 IE7。其他浏览器也以怪癖方式显示,但与 IE 不同的是,这不会将它们置于伪 IE5.5 模式,因此它们仍然可以正常呈现。
如何强制 IE7 以标准渲染模式而不是怪癖进行渲染?我已经尝试将 DOCTYPE 设置为许多不同的选项,但我没有添加 xml 序言。
预先感谢您的任何答复。
最佳答案
您尝试过 XHTML 4 严格 DTD 吗?
<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml/DTD/xhtml1-strict.dtd">
还要注意,如果在 DTD 声明之前有任何内容,IE7 仍将保持在 quirk 模式。
换句话说:
IE7:严格
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
或者
<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
IE7:怪癖
<?xml version="1.0" encoding="UTF-8"?>
<!-- stuff -->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
令人讨厌的地方在于:IE6 将以下内容作为 Quirk 模式。
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
关于internet-explorer-7 - 强制 IE7 进入标准渲染模式(不是怪癖),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4946216/