html <!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> 声明,确保浏览器能够预先知道文档类型 <!DOCTYPE> 标签没有结束标签 <!DOCTYPE> 声明不区分大小写 范例<!DOCTYPE html> <Meta charset="utf-8"> <body> 文档内容...... </body> HTML 4.01 与 HTML5之间的差异HTML 4.01 设置了三种不同的 <!DOCTYPE> 声明,分别是:
HTML5 中仅设置了一种 <!DOCTYPE html> 常见的 DOCTYPE 声明HTML 5<!DOCTYPE html> 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"> 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"> |