什么是html的文档模式,html文档中,doctype起到什么作用?有哪些模式? | 前端面试题...

Doctype 的作用

根据W3C组织的标准,推荐在Web文档中使用Doctype声明。当创作的文档是HTML或XHTML时,添加Doctype声明很重要。这样可以确保不同浏览器以相同的方式解析文档,以保证展示出来的效果一致。doctype 声明不属于 HTML 标签;tag; 它是一条指令,告诉浏览器编写页面所用的标记的版本。

由于历史原因,当浏览器解析以Doctype声明开头的HTML文档时,浏览器的行为和表现更加可预测并且更加统一。

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

为什么要加上Doctype声明?

最初,当HTML被基于SGML定义为一门语言时,Doctype声明被应用于HTML,以及后来的XML上。

由于该声明的存在通常是文档作者遵循标准实践的信号,因此在HTML5中使用该声明来区分符合标准的解析模式和所谓的怪异解析模式。

无论您是要通过SGML还是XML解析器解析HTML文件,还是只是确保在HTML5处理器中以相同的方式解析文档,doctype都是高质量HTML文档的关键组件。

什么是SGML?

SGML是标准能用标记言(Standard Generalized Markup Language)的简称。 SGML(标准通用标记语言)是一个指定文档标记语言或标记集的标准。这样的规范本身就是文档类型定义(DTD)。SGML本身不是文档语言,而是如何指定文档语言的描述。它是元数据。

SGML基于这样的思想:文档具有结构和其他语义元素,可以在不参考如何显示这些元素的情况下进行描述。这种文档的实际显示可能会有所不同,具体取决于输出媒体和样式首选项。基于SGML的文档的一些优点是:

它们可以通过考虑文档结构而不是外观特征(可能随时间变化)来创建。 它们将更具可移植性,因为SGML编译器可以通过引用其文档类型定义(DTD)来解释任何文档。 最初用于打印介质的文档可以容易地重新适用于其他介质,例如计算机显示屏。 此Web浏览器使用的语言,超文本标记语言(HTML),是基于SGML的语言的示例。HTML有一个文档类型定义(阅读HTML规范有效地阅读了文档类型定义的扩展版本)。在当今的分布式网络环境中,许多文档都使用可扩展标记语言(XML)进行描述,XML是一种使用SGML原则的数据描述语言(文档可以被视为数据集合)。

SGML基于IBM开发的早期通用标记语言,包括通用标记语言(GML)和ISIL。

这个说的比较拗口,大概意思就是,这是一个标记语言的标准,HTML4.01之前是基于这个标准来定义的一门语言,所以要加上DTD的引用。

如何添加Doctype声明

在HTML5中,使用的最简单,最可靠的doctype声明方法是在web文档中的第一行,定义的声明如下:

1

1

HTML 4.01下的声明方式

严格方式

1

1

过渡模式

1

1

框架集

1

1

为什么HTML 5 只需要写简短的一句?

在HTML 4.01中,Doctype 需要对 DTD 进行引用,因为 HTML 4.01 基于 SGML。前面说到了, HTML 5 不基于 SGML,因此不需要对 DTD 进行引用,但是需要 doctype 来规范浏览器的行为,让浏览器按照它们应该的方式来运行。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值