为什么html5的顶部只需要一段
<!DOCTYPE html>
复制代码
而html4却需要很长的一段
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
复制代码
w3school是这么写的:
翻译过来大概就是:<!DOCTYPE>只是一个说明,用来告诉浏览器当前的html页面是用什么版本的html写的。 html4.01的<!DOCTYPE>引用了DTD(document type define),因为html4.01是基于SGML的,而它引用的DTD指明了html的规则,从而浏览器能正确的渲染页面。而html5不是基于SGML所以不需要引用DTD。什么是SGML呢。维基百科上是这么写的:
翻译一下:SGML,即一般标准标记语言,是一个用于定义文档标记语言标准的集合。
总结一下:因为html4是基于SGML这个标记语言的集合,既然是集合说明里面有各种的标准,那么DTD就是指出了当前html文件是用的是哪个SGML规则。 html5不存在这个问题,所以只需要简单的声明浏览器就可以正确渲染页面啦。