<!DOCTYPE>奇葩的问题

作用:<!DOCTYPE> 声明不是 HTML 标签;它是指示 web 浏览器关于页面使用哪个 HTML 版本号进行编写的指令。

1.:<!DOCTYPE> 声明没有结束标签。

2:<!DOCTYPE> 声明对大写和小写不敏感。

3:请使用 W3C 的验证器来检查您是否编写了有效的 HTML / XHTML 文档!

假设不写声明文档的解析类型(document.compatMode)

document.compatMode:
BackCompat:怪异模式,浏览器使用自己的怪异模式解析渲染页面。


CSS1Compat:标准模式,浏览器使用W3C的标准解析渲染页面。

浏览器就会依照自己的默认的怪异模式编译

各个版本号的写法:

HTML 5

<!DOCTYPE html>

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

HTML 4.01 Transitional

该 DTD 包括全部 HTML 元素和属性,包括展示性的和弃用的元素(比方 font)。

不同意框架集(Framesets)。

<!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)。不同意框架集(Framesets)。

必须以格式正确的 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)。不同意框架集(Framesets)。必须以格式正确的 XML 来编写标记。

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

原文地址:https://www.cnblogs.com/claireyuancy/p/7223592.html