Skip to main content

声明文档类型的变迁

HTML4.01的三种类型

strict

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">

loose

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">

frameset

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN"
"http://www.w3.org/TR/html4/frameset.dtd">

作用

告知浏览器,要使用哪个规范的规则,来解析页面内容。

HTML5

文档类型声明

<!DOCTYPE html>

两种书写方式

HTML5基于htmlxml,所以可以用两者的规则进行书写。
由于html并不是基于SGML实现的,所以HTML5不需要声明DTD

为什么HTML5没有DTD?

SGML是定义标记语言的系统,HTML4.01是它的一种实现。

HTML5不是基于SGML,不需要指定DTD

HTML4.01基于SGML,所以需要指定DTD

扩展阅读:Introduction to SGML

参考