我在IE7中有显示问题,因为它以怪异模式呈现。我通过显示“document.compatMode”并返回“BackCompat”而不是“CSS1Compat”来确认这一点。使用IE8并恢复到IE7可以正常工作,因为这样可以避免怪癖。在简单的IE8中,我通过使用X-UA-Compatible标头强制渲染模式来修复它,但这对IE7不起作用。其他浏览器也会显示怪癖,但与IE不同,它不会将它们置于伪IE5.5模式,因此它们仍然可以正常渲染。
如何强制IE7在标准渲染模式下渲染而不是怪癖?我已经尝试将DOCTYPE设置为许多不同的选项,我没有添加xml序言。 提前感谢您的回复。
答案 0 :(得分:3)
您是否尝试过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仍将保持奇怪的模式。
换句话说:
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:quirk
<?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">
答案 1 :(得分:2)
您是否通过W3C validator运行代码?
如果您的HTML无效,则无论doctype如何,IE都可能会恢复为怪异模式。