我设计了一个网页并在firefox, chrome & IE-8
上对其进行了测试。网页在firefox & chrome
上显示正常,但在IE上则不显示。
在使其兼容的过程中,我将DocType声明从HTML 4.01 Transitional
更改为XHTML 1.1
到HTML 4.01 Strict
。这无法修复交叉兼容性。此外,当我将DocType从firefox & chrome
更改为HTML 4.01 Transitional
时,我发现网页设计在XHTML 1.1
上混乱。
现在我的问题是,如果DocType在设计网页时很重要,我应该使用哪一个来实现交叉兼容?还有其他解决方案不涉及DocType吗?
答案 0 :(得分:3)
听起来您只是在更改DOCTYPE,而不是更改任何HTML或CSS。这是您需要做的事情,因为每个DOCTYPE将以不同的方式呈现。
我建议使用STRICT之一 - HTML4.01 STRICT,XHTML1.0 STRICT或XHTML1.1,具体取决于您的需求。或HTML5(虽然我还没有使用过它)。此外,请确保您的doctype声明正确,并且如果您使用的是XHTML,则将xmlns包含在html标记中。
供参考:
检查你的doctypes:
HTML 4.01严格,过渡,框架集
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">
XHTML 1.0 Strict,Transitional,Frameset
<!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 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
XHTML 1.1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
HTML5
<!DOCTYPE html>