如果您在XHTML 1.0 Strict(没有depr。属性)中使用已弃用的属性或标记<center>
,<font color="red">
或<td valign="top">
等,那么现代浏览器(我将使用Chrome作为示例)仍然注意并使用它们。
如果您在XHTML 1.0上使用HTML5 <video>
严格的DOCTYPE,Chrome仍然会识别它 - 这并不是说它们不会编程。我测试了最差已弃用,大写和不带引号的属性代码,以及HTML5音频,以及Chrome中的XHTML 1.0严格DOCTYPE,并且呈现完美无瑕。
以下是我测试的代码,在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?他们甚至懒得阅读和解读它吗?
答案 0 :(得分:9)
浏览器确实关心DOCTYPE - 否则就没有任何意义了!
你说对了许多浏览器以正确的方式解释旧的/不赞成的命令是对的,但这在很大程度上是向后兼容的问题。网络上有如此大量的内容,几乎不可能保持一切最新和标准兼容。 Web浏览器继续支持这些过时的页面,因为如果它们没有,那么Web上的大部分内容都会略微偏离。大多数用户不知道HTML4和5之间的区别,所以责任可能落在浏览器上,这可能是毁灭性的 - 特别是如果一个页面在Firefox上看起来不好而在IE上看起来不错!
DOCTYPE主要用于验证并确定浏览器是否以“怪癖模式”(其中许多旧规则仍然有效)或“标准模式”运行。许多专业网页设计师使用W3C验证工具来确保他们的网页是有效的HTML,他们网站提供的工具查看DOCTYPE以选择要验证的正确规则集。此外,XHTML strict不允许空标记或其他明显的语法错误。
希望这有帮助!
答案 1 :(得分:2)
在大多数现代浏览器中,使用不同的Doctypes时,您不会注意到很多差异(取决于页面)。您将注意到的最大区别不在于您的标记,而在于您对CSS的使用以及元素的布局/定位。在验证页面时使用Doctype,在确定模式时,浏览器会将页面呈现在。因此,根据您使用的Doctype,它将确定页面是以标准模式,Quirks模式等呈现。在IE中和旧版浏览器一样,你会发现更多不同之处。
有关该主题的更深入信息,请查看以下链接:http://hsivonen.iki.fi/doctype/
答案 2 :(得分:2)
在Chrome中试用:
<!DOCTYPE html>
<title>Test case</title>
<p hidden>My text
<table><tr><td>Hello World</table>
反对这个
<title>Test case</title>
<p hidden>My text
<table><tr><td>Hello World</table>
仅在前一种情况下,文本“Hello World”才可见。
答案 3 :(得分:0)
是的,他们这样做。它意味着Quirks或Standard模式之间的区别,并且可以影响IE处理盒容器的方式。
看看这里:
http://www.quirksmode.org/css/quirksmode.html
还在这里:
http://www.webmasterworld.com/forum21/7975.htm他们详细讨论了这个话题。
答案 4 :(得分:0)
也许名为“DOCTYPES如何影响渲染”的段落可以帮到你?