我们写页面的时候经常会看到:
<!DOCTYPE html>
在h5之前是这样的:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
作用
<!DOCTYPE>
声明一般位于文档的第一行,它的作用主要是告诉浏览器以什么样的模式来解析文档。- 一般指定了之后会以标准模式来进行文档解析,否则就以兼容模式进行解析。在标准模式下,浏览器的解析规则都是按照最新的标准进行解析的。而在兼容模式下,浏览器会以向后兼容的方式来模拟老式浏览器的行为,以保证一些老的网站的正确访问。
- DOCTYPE 不存在或格式不正确会导致文档以兼容模式呈现。
- 在 html5 之后不再需要指定 DTD 文档,因为 html5 以前的 html 文档都是基于 SGML 的,所以需要通过指定 DTD 来定义文档中允许的属性以及一些规则。而 html5 不再基于 SGML 了,所以不再需要使用 DTD。
关于SGML可以看这个SGML 、 HTML 、XML 和 XHTML 的区别