您的位置:首页 > 科技 > IT业 > HTML文档声明

HTML文档声明

2024/12/23 16:13:41 来源:https://blog.csdn.net/qq_46244470/article/details/139646739  浏览:    关键词:HTML文档声明

HTML发展史

GML

GML是一个标记语言,通过特定的标识包裹数据,使得计算机能够识别和处理信息。在GML的基础上,SGML被开发出来,它是一种极为严格的文件描述语言

SGML由语法定义、DTD以及文件实例这三个部分构成,由于SGML的规范非常严格,文档达到了500多页,因此它被认为难以学习、使用和实现,基于这些原因,人们在SGML的基础上发展出了其他更易用的标记语言

HTML

1991年,html1.0问世,基于GML和SGML的html抛去了前两者的臃肿,继承了 SGML 的很多优点

HTML最大的特点是简单性和跨平台性。它只使用了 SGML 中很少的一部分标记,例如 HTML4.0中只定义了 70 余种标记,为了便于在计算机上实现,HTML 规定的标记是固定的,即 HTML 语法是不可扩展的

从HTML1一直到HTML5,它们之间最大的差别就是支持的元素不同

元素HTML5HTML4XHTML
ayesyesyes
pyesyesyes
buttonyesyesyes
bodyyesyesyes
articleyesnono
detailsyesnono
dirnoyesno
fontnoyesno
theadyesyesno

html发展

XML

随着 Web 应用的不断发展,HTML 的局限性也越来越明显地显现了出来,如 HTML 无法描述数据、可读性差、搜索时间长等,为了解决这些问题,人们重新改进了SGML 使之适应现在的网络需求,1998年W3C公布XML1.0标准,标志着 XML 的诞生

XML的设计旨在通过简化 SGML,使其能够在 Web 上像 HTML 那样被服务、接收和处理

XML 不仅仅是一种标记语言,它还提供了一种强大的方式来存储、搜索和共享数据,最重要的是,由于 XML 的基本格式已经标准化,即使在不同系统或平台之间本地或通过互联网共享或传输 XML 数据,接收方也能够解析数据,很长一段时间,XML都作为网络传输的标准数据格式
html发展

DTD

我们前面一直在提到一个词,叫做DTD,DTD即标记语言的规则,最早可以追溯到SGML,我们通过引入DTD就能知道当前HTML的版本,以及当前HTML语法是否规范
DTD 是一种保证文档格式正确的有效方法,可以通过比较XML文档和DTD文件来看文档是否符合规范,元素和标签使用是否正确。一个DTD文档包含:元素的定义规则,元素间关系的定义规则,元素可使用的属性,可使用的实体或符号规则

文档声明

HTML 文档通常以文档声明开始,该声明的作用是帮助浏览器确定其尝试解析和显示的 HTML 文档类型

<!DOCTYPE html>

文档声明必须是 HTML 文档的第一行、且顶格显示,对大小写不敏感。因为任何放在 DOCTYPE 前面的东西,比如批注或 XML 声明,会令 IE9 或更早期的浏览器触发怪异模式

文档声明并非一个 HTML 标签。它是一条“信息”,告知浏览器期望的文档类型
在HTML5出现之前,文档声明中都需要引入DTD文件,所以我们可以看到那些文档声明都很长

  1. HTML 4.01 Transitional

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

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

在HTML5出现之后,我们就不需要在文档声明后添加DTD了,因为HTML5不再基于SGML

渲染模式

根据HTML文档声明的不同,浏览器会采取不同的渲染模式

在W3C标准出台之前,浏览器对网页的渲染没有统一的规范,这导致了不同浏览器之间的差异性,为了确保网站能在各种浏览器中正确显示,开发者不得不根据每个浏览器的特定规则来编写代码,哪怕这些代码是不符合W3C规范的
随着W3C标准的推出,浏览器对网页的渲染终于有了统一的标准,各大浏览器开始逐步采纳这一新标准。然而,这引出了一个问题:如何确保旧网页仍能正常浏览?因为在W3C标准发布之前,许多网页都是基于旧的渲染方式编写的,若按新标准渲染,可能会导致页面显示不正常。为了解决这一问题,浏览器保留了旧的渲染模式,以便不同的网页可以根据其需要选择不同的渲染模式

具体而言,浏览器会有三种渲染模式

  1. 怪异模式/混杂模式
    这个模式是指浏览器用自己的方式解析代码
  2. 标准模式/严格模式
    这个模式是指浏览器用W3C的标准解析代码
  3. 接近标准模式/几乎标准模式
    在这个模式下只会有少数怪异行为被实现

怪异模式渲染的区别

不同于标准模式,怪异模式会有以下不同的渲染行为

  1. 盒模型
    怪异模式下的盒模型包含padding和border
  2. 行内元素宽高
    怪异模式下我们可以直接设置行内元素的宽高
  3. 水平居中失效
    怪异模式下我们通过margin:0 auto来使元素水平居中的行为失效

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com