internet-explorer-7 - 强制 IE7 进入标准渲染模式(不是怪癖)

标签 internet-explorer-7 rendering quirks-mode webpage-rendering

我在 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/

相关文章:

jquery - 为什么 jQuery.val 在 Internet Explorer 7 (IE7) 中返回数组而不是字符串?

c++ - 如何绘制位图

css - 使表格的外观与 Quirks 模式下的外观相同

php - 在 doctype 之前有 php 代码会使浏览器进入怪癖模式吗?

css - IE9/8/7 css sprite 位置滑动问题

php - 使用 javascript 提交表单,在 FF 中工作但在 IE 中不工作

html - 我怎样才能 "center"这个可变宽度菜单的子元素?

c++ - OpenGL ES 绘图形状

swift - 使用 NSAttributedString 绘图时在非视网膜 Mac 上呈现模糊字体

html - <th> 将不会在 IE8 的 quirks 模式下与表格的其余部分一起水平滚动