1.4 HTML <!DOCTYPE> 声明
注释:<!DOCTYPE> 标签没有结束标签。
提示:<!DOCTYPE> 声明不区分大小写。
1.4.1 标签定义及使用说明
-
<!DOCTYPE>
声明位于文档中的最前面的位置,处于<html>
标签之前。 -
<!DOCTYPE>
声明不是一个HTML
标签;它是用来告知Web
浏览器页面使用了哪种 `HTML 版本。 -
在
HTML 4.01
中,<!DOCTYPE>
声明需引用DTD
(文档类型声明),因为HTML 4.01
是基于SGML
(Standard Generalized Markup Language 标准通用标记语言)。DTD
指定了标记语言的规则,确保了浏览器能够正确的渲染内容。 -
HTML5
不是基于SGML
,因此不要求引用DTD
。 -
总之给 HTML 文档添加 <!DOCTYPE> 声明,确保浏览器能够预先知道文档类型。
1.4.2 HTML 4.01 与 HTML5 之间的差异
-
HTML 4.01 规定了三种不同的 <!DOCTYPE> 声明,分别是:Strict、Transitional 和 Frameset。
-
HTML 4.01 Strict
这个 DTD 包含所有 HTML 元素和属性,但不包括表象或过时的元素(如 font )。框架集是不允许的。<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-
HTML 4.01 Transitional
这个 DTD 包含所有 HTML 元素和属性,包括表象或过时的元素(如 font )。框架集是不允许的。<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-
HTML 4.01 Frameset
这个 DTD 与 HTML 4.01 Transitional 相同,但是允许使用框架集内容。<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">
-
-
HTML5 中仅规定了一种:
<!DOCTYPE html>
-
其他版本常见规定
-
XHTML 1.0 Strict
这个 DTD 包含所有 HTML 元素和属性,但不包括表象或过时的元素(如 font )。框架集是不允许的。结构必须按标准格式的 XML 进行书写。<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-
XHTML 1.0 Transitional
这个 DTD 包含所有 HTML 元素和属性,包括表象或过时的元素(如 font )。框架集是不允许的。结构必须按标准格式的 XML 进行书写。<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-
XHTML 1.0 Frameset
这个 DTD 与 XHTML 1.0 Transitional 相同,但是允许使用框架集内容。<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
-
XHTML 1.1
这个 DTD 与 XHTML 1.0 Strict 相同,但是允许您添加模块(例如为东亚语言提供 ruby 支持)。<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
-