准确的说,<!DOCTYPE>不是标签,而是声明。所以,骚年,以后不要叫<!DOCTYPE>标签了,而叫“<!DOCTYPE> 声明”。
<!DOCTYPE> 是告诉浏览器,这个HTML文档是使用哪个版本的HTML规范来定的。我们知道,现在有两上HTML版本,HTML4 和 HTML5。那么HTML4和HTML5应该怎么样写<!DOCTYPE> 声明呢?
HTML4的<!DOCTYPE> 声明有如下三种方式:
1、HTML 4.01 Strict
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
说明:该 DTD 包含所有 HTML 元素和属性,但不包括展示性的和弃用的元素(比如 font)。不允许框架集(Framesets)。
2、HTML 4.01 Transitional
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
说明:该 DTD 包含所有 HTML 元素和属性,包括展示性的和弃用的元素(比如 font)。不允许框架集(Framesets)。
3、HTML 4.01 Frameset
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">
说明:该 DTD 等同于 HTML 4.01 Transitional,但允许框架集内容。
HTML5的<!DOCTYPE> 声明只有如下一种方式:
<!DOCTYPE html>
其实我们用得比较多的一种<!DOCTYPE>声明如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
它是XHTML 1.0 Transitional,该 DTD 包含所有 HTML 元素和属性,包括展示性的和弃用的元素(比如 font)。不允许框架集(Framesets)。必须以格式正确的 XML 来编写标记。