如果您使用弃用的属性或标签< center>,< font color =“red”>,或者< td valign =“top”>在XHTML 1.0 Strict(没有depr.属性)中,现代浏览器(我将使用Chrome作为示例)仍然会注意并使用它们.
如果您使用HTML5< video>在XHTML 1.0严格的DOCTYPE Chrome上仍然可以识别它 – 它并不像他们编程的那样.我使用Chrome中的XHTML 1.0 Strict DOCTYPE测试了我可以编写的最糟糕的,大写的和不带引号的属性代码,以及HTML5音频,它完美呈现.
这是我测试的代码,在Chrome中完美运行(红色bg,中心表,音频播放):
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <title>Do browsers care about the DOCTYPE?</title> <Meta http-equiv="Content-Type" content="text/html;charset=utf-8" > </head> <body bgcolor=#ff0000> <CENTER> <table cellpadding="0" cellspacing=0> <tr><td valign=top>test</td></tr> </table> </CENTER> and some HTML5 audio.. <audio autoplay> <source src="http://www.duncannz.com/resources/sound/alarm.mp3" type="audio/mp3">fallback text</audio> </body> </html>
所以我的问题是:现代浏览器(翻译:IE以外的浏览器)是否会引起任何关注,或者做什么不同,因为DOCTYPE?他们甚至懒得阅读和解释它吗?
解决方法
浏览器确实关心DOCTYPE – 否则就没有任何意义了!
你说对了许多浏览器以正确的方式解释旧的/弃用的命令是对的,但这很大程度上是向后兼容的问题.网络上有如此大量的内容,几乎不可能保持一切最新和标准兼容. Web浏览器继续支持这些过时的页面,因为如果它们没有,那么Web上的大部分内容都会略微偏离.大多数用户不知道HTML4和5之间的区别,所以责任可能落在浏览器上,这可能是毁灭性的 – 特别是如果一个页面在Firefox上看起来不好而在IE上看起来不错!
DOCTYPE主要用于验证并确定浏览器是否以“怪癖模式”(其中许多旧规则仍然有效)或“标准模式”运行.许多专业网页设计师使用W3C验证工具来确保他们的网页是有效的HTML,他们网站提供的工具查看DOCTYPE以选择要验证的正确规则集.此外,XHTML strict不允许空标记或其他明显的语法错误.
希望这可以帮助!