HTML 中 !DOCTYPE 声明

DOCTYPE 定义

DOCTYPE 是 document type(文档类型)的简写

DOCTYPE 返回当前文档关联的文档类型定义(DTD)

DOCTYPE 返回的对象实现了 DocumentType 接口

使用 DOMImplementation.createDocumentType() 方法可以创建一个DocumentType类型的对象

 DOCTYPE 语法 

doctype = document.doctype;

如下例所示:

let doctype = document.doctype;

console.log(doctype);

注:

  • doctype 是一个只读属性
  • 如果当前文档没有DTD,则该属性返回 null

 DOCTYPE 用法

 !DOCTYPE 在页面当中是一个文档类型标记,是一种标准通用标记语言的文档类型声明

<!DOCTYPE> 位于文档中的最前面的位置,处于 <html> 标签之前,此标签可告知浏览器文档使用哪种 HTML 或 XHTML 规范

doctype 声明不属于 HTML 标签;tag; 它是一条指令,告诉浏览器编写页面所用的标记的版本

在所有 HTML 文档中规定 doctype 是非常重要的,这样浏览器就能了解预期的文档类型

在 HTML 4.01 中, <!DOCTYPE> 声明需引用 DTD (文档类型声明),因为 HTML 4.01 是基于 SGML (Standard Generalized Markup Language 标准通用标记语言),DTD 指定了标记语言的规则,确保了浏览器能够正确的渲染内容

HTML5 不是基于 SGML,因此不要求引用 DTD,但是需要 doctype 来规范浏览器的行为

HTML

HTML 4.01 规定了三种文档类型:Strict、Transitional 以及 Frameset。

HTML Strict DTD

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

HTML Transitional DTD

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

Frameset DTD

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

具有正确文档类型(doctype)的 HTML5 文档:

<!DOCTYPE html>

XHTML

XHTML 1.0 规定了三种 XML 文档类型:Strict、Transitional 以及 Frameset。

XHTML Strict DTD

如果您需要干净的标记,免于表现层的混乱,请使用此类型。请与层叠样式表(CSS)配合使用:

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

XHTML Transitional DTD

Transitional DTD 可包含 W3C 所期望移入样式表的呈现属性和元素。如果您的读者使用了不支持层叠样式表(CSS)的浏览器以至于您不得不使用 XHTML 的呈现特性时,请使用此类型:

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

XHTML Frameset DTD

当您希望使用框架时,请使用此 DTD!

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

如需检查你是否编写了带有正确 DTD 的合法 XHTML 文档,您可以把您的 XHTML 页面链接到一个 XHTML 验证器

 DOCTYPE 的模式

DOCTYPE 是一种标准通用标记语言的文档类型声明,它的目的是要告诉标准通用标记语言解析器,它应该使用什么样的文档类型定义(DTD)来解析文档

Doctype可声明三种DTD类型,分别表示严格版本、过渡版本以及基于框架的 HTML 文档

超文本标记语言

超文本严格文档类型定义:

如果需要干净的标记,免于表现层的混乱,则使用此类型。请与层叠样式表配合使用:

公共标识符称为:“-//W3C//DTD HTML 4.01//en”

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

超文本过渡文档类型定义

可包含万维网联盟所期望移入样式表的呈现属性和元素。如果读者使用了不支持层叠样式表的浏览器以至于不得不使用超文本标记语言的呈现特性时,则使用此类型:

公共标识符称为:“-//W3C//DTD HTML 4.01 Transitional//en”

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

超文本框架集文档类型定义

框架集文档类型定义应当被用于带有框架的文档。除 frameset 元素取代了 body 元素之外,等同于过渡文档类型定义:

公共标识符称为:“-//W3C//DTD HTML 4.01 Frameset//en”

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

可扩展超文本标记语言

可扩展超文本标记语言严格文档类型定义

公共标识符称为:“-//W3C//DTD XHTML 1.0 Strict//en”

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

可扩展超文本标记语言过渡文档类型定义

  可包含 W3C 所期望移入样式表的呈现属性和元素。如果您的读者使用了不支持层叠样式表(CSS)的浏览器以至于您不得不使用 XHTML 的呈现特性时,请使用此类型:

公共标识符称为:“-//W3C//DTD XHTML 1.0 Transitional//en”

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

可扩展超文本标记语言框架集文档类型定义

当您希望使用框架时,请使用此文档类型定义!

公共标识符称为:“-//W3C//DTD XHTML 1.0 Frameset//en”

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//en"
"http://www.w3. org/TR/xhtml1/DTD/xhtml1-frameset.dtd">

当浏览器厂商开始创建与标准兼容的浏览器时,他们希望确保向后兼容性,为了实现这一点,他们创建了两种呈现模式:标准模式和混杂模式

 >> 在标准模式中,浏览器以其支持的最高标准呈现页面。

 >> 在混杂模式中,页面以一种比较宽松的向后兼容的方式显示。混杂模式通常模拟老式浏览器的行为以防止老站点无法工作

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值