声明 ‹!DOCTYPE›

Exisi 2020-06-01 12:22:22
Categories: Tags:
  • <!DOCTYPE>是网页标准声明,全称为 Document Type HyperText Mark-up Language,是一条标示语言。
  • <!DOCTYPE> 声明不是 HTML 标签,它用于指示 web 浏览器关于页面使用哪个 HTML 版本进行编写的指令。请始终向 HTML 文档添加 <!DOCTYPE> 声明,这样浏览器才能获知文档类型
  • <!DOCTYPE> 声明必须是 HTML 文档的第一行,位于 <html> 标签之前。
  • HTML 各个版本的声明方式如下

版本

声明

HTML5

<!DOCTYPE html>

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">

XHTML 1.0

类型

描述

声明

Strict

DTD 包含所有 HTML 元素和属性,但不包括展示性的和弃用的元素(比如 font)。不允许框架集(Framesets)。必须以格式正确的 XML 来编写标记。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"
http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

Transitional

DTD 包含所有 HTML 元素和属性,包括展示性的和弃用的元素(比如 font)。不允许框架集(Framesets)。必须以格式正确的 XML 来编写标记。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "
http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

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">

HTML 4.01

类型

描述

声明

Strict

DTD 包含所有 HTML 元素和属性,但不包括展示性的和弃用的元素(比如 font)。不允许框架集(Framesets

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

Transitional

DTD 包含所有 HTML 元素和属性,包括展示性的和弃用的元素(比如 font)。不允许框架集(Framesets

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

Frameset

DTD 等同于 HTML 4.01 Transitional,但允许框架集内容

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

实例

<!DOCTYPE html>

<html lang="en">

</html>

  • doctype 声明是不区分大小写的,以下方式均可:

<!DOCTYPE html>

 

<!DOCTYPE HTML>

 

<!doctype html>

 

<!Doctype Html>

 

  • HTML 4.01 中,<!DOCTYPE> 声明引用 DTD,因为 HTML 4.01 基于 SGMLDTD 规定了标记语言的规则,这样浏览器才能正确地呈现内容。
  • HTML5 不基于 SGML,所以不需要引用 DTD

 

来自 <https://www.w3school.com.cn/tags/tag_doctype.asp>