小编典典

一个 文档类型 或 文档类型声明 关联与文档 的文档类型定义 。

该 文档类型定义

是一个XML文档的标准。XML和XHTML文档都有许多DTD。XML本身并没有太多的架构或一组非常具体的规则,除了要求一切都必须格式正确。您可以将DTD视为

文档 的更特定 架构 。

渲染模式

由于标准的发展,大多数现代浏览器实际上具有不同的呈现模式(“ 标准模式” (用于根据最新的网络标准呈现文档和CSS)和“ 怪癖”模式

(其中,浏览器带回了早期网络的一些呈现想法)

)。建立这些模式是为了实现向后兼容。在Web的第一个时代创建的广阔的网页景观是根据其时间规则呈现的,而较新的文档可以吸引新的标准浪潮。随着时间的流逝和新格式的出现,可能会创建相应的DTD。

浏览器差异

在理想情况下,浏览器正在加载的页面将读取顶部的Doctype并使用它来查找文档类型定义。然后,它将使用该DTD的架构作为阅读文档其余部分的基础。因此,文档类型对于验证标记文档至关重要。DTD将提供验证文件所依据的标准。

不幸的是,这不是一个理想的世界。浏览器不一定在这里表现一致,如果这样做,则一致的表现与Doctypes的最初愿景并不完全一致。尽管解析是独立于Doctype进行的,但是主要的浏览器至少会检查Doctype以确定呈现方式。如果您的Doctype不存在或不完整,则浏览器可能会以

quirks模式 呈现。为了使正确书写的现代文档正确显示,浏览器应以 标准模式

呈现。Mozilla,Safari和Opera的某些最新版本实际上实现了几乎标准

模式,该模式完全专用于过渡页面。

当您更改Doctype并注意到页面显示方式的更改时,这是因为浏览器在尝试解析文档时可能会应用一组稍有不同的规则。因此,生成的页面可能有所不同,这取决于其所有部分是否都符合DTD,或者至少取决于浏览器,您的数据在doctype建议的呈现模式下进行了验证。

选择文件类型

为了遵守标准,应尽可能使用严​​格的Doctypes。

用 XHTML 编写时,此Doctype是常见的:

/p>

"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

用 HTML 4.1 编写时,这是常见的:

/p>

"http://www.w3.org/TR/html4/loose.dtd">

为了完整起见,此处还列出了XHTML和HTML 4的其他一些常见文档类型:

/p>

"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

/p>

"http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">

/p>

"http://www.w3.org/TR/html4/strict.dtd">

/p>

"http://www.w3.org/TR/html4/frameset.dtd">

关于严格和过渡文档类型的辩论

标准宣传人员呼吁Web开发人员停止在新页面上使用过渡文档类型,而应使用严格。同样,在这种情况下,理论与实践之间存在一些协调困难。过渡Doctype的最初希望是为将旧版网站过渡到符合标准的过程提供一个中间空间。使用过渡文档类型时,对元素和属性的限制实际上是“不太严格”的,因此开发人员将能够使他们的工作更快地在标准模式下运行,并逐步消除突出的差异。

之所以存在争议,是因为开发人员在企业环境中更改Doctype并不总是那么简单。中小型网站的自由开发人员和制造商通常可以更轻松地确定其Doctype并进行此过渡。在用于要求很高的基于Web的服务的企业生产环境中,对遗留系统和第三方代码产品的依赖本质上更加复杂,它们本身可能正处于删除或重新设计的路线图上,但必须执行此类更改有条不紊地逐步完成。

有用的工具

W3C 万维网联盟 是一个在定义这些标准方面发挥积极作用的组织。他们在维护了一个有用的在线工具,用于根据其标准验证和验证文档。还有许多其他具有相似功能的第三方工具和浏览器扩展

2020-05-10

HTML 4文档类型,html中不同的文档类型是什么?它们是什么意思?相关推荐

  1. 计算机中的类型,计算机中各种件文的类型及其作用.doc

    计算机中各种件文的类型及其作用 1. "323" "H.323 Internet 电话技术" 2. "386" "虚拟设备驱动程序 ...

  2. oracle 创建nchar类型,ORACLE8I中关于nchar,nvarchar2等类型的ORA-12704错误

    我在oracle9i以上,插入和修改nchar,nvarchar2等类型字段时正常,但在8i版本遇到一条简单的插入语句,类型有nchar,nvarchar等字段的时候,出现ora-12704,字符集不 ...

  3. 机器人赛文_动漫中机器人赛文与真正的赛文奥特曼相比,谁更厉害呢?

    机动赛文奥特曼应该是在赛文奥特曼这部动漫中,所出现的一位仿照赛文奥特曼的样子制造出来的机器人赛文.而机器人赛文奥特曼的实力也是很强的.他可以发射类似于赛文奥特曼一样的光线技能以及头镖.在动漫中也与真正 ...

  4. java鸭子类型_Golang中的接口与鸭子类型

    1 接口的定义与理解 接口是一个自定义类型,它是一组方法的集合.从定义上来看,接口有两个特点.第一,接口本质是一种自定义类型,因此不要将golang中的接口简单理解为C++/Java中的接口,后者仅用 ...

  5. java file 获取文件类型_Android中Java根据文件头获取文件类型

    前面贴过Android系统内部的MediaFile类来获取文件类型的办法,这个类主要是根据文件的扩展名来判断,其准确性不是很好.具体可查看Android系统使用MediaFile类判断音频文件类型.其 ...

  6. java中两种异常类型_Java中的三种异常类型

    java中两种异常类型 Errors are the bane of users and programmers alike. Developers obviously don't want thei ...

  7. java main类型_java中main方法的返回类型是?

    感谢邀请.man方法是void类型,void没有返回值类型 在java语言程序编写时都会涉及到一个main方法,它的格式为: public static void main(String[] args ...

  8. php7 有参数类型,PHP7中的可空返回类型

    小编典典 PHP 7.1现在支持可为空的返回类型.我链接到的第一个RFC是他们使用的RFC: function nullOrString(int $foo) : ?string { return $f ...

  9. java 中entry类型_java中的Entry是什么类型

    publicstaticinterfaceMap.Entry的API介绍如下: 映射项(键-值对).Map.entrySet方法返回映射的collection视图,其中的元素属于此类.获得映射项引用的 ...

最新文章

  1. webpack为什么加载不了css?
  2. 八个程序员必备的代码编辑器(附下载链接)
  3. FLASH得到MYSQL数据
  4. 安卓应用市场分类排名算法一般是怎样的?
  5. wildfly-9.0.2 web项目部署详细步骤
  6. Android开发之TextView的滚动显示
  7. bzoj 4975: 区间翻转(博弈)
  8. Ubuntu18.04之搜狗输入法
  9. mysql恢复备份快照_MySQL备份恢复:磁盘LVM快照
  10. PyTorch - torch.nn.PReLU
  11. 使用Redis来做浏览量统计
  12. 改造家里的开关成为智能开关,保留原有开关控制,零火版,基础入门(一)
  13. 商务办公软件应用与实践【8】
  14. 【洛谷 4556】雨天的尾巴
  15. 一文学会会计记账-会计科目、借贷关系和会计分录的小白理解
  16. python 绘制箱型图
  17. 删除dataframe中的某行 删除不掉是为啥
  18. iOS 应用架构谈:view 层的组织和调用方案
  19. MySQL学习笔记day2--DQL案例练习
  20. HIS系统门急诊医保实时结算接口测试

热门文章

  1. Android 调起相机拍照并保存本地
  2. IOS目前比较不错的推广网站
  3. cmd跳转文件夹 win10_win10下在当前文件夹位置打开CMD
  4. 关于个人社保原公司欠费不给减员怎么办
  5. c4d烘培ao贴图/环境吸收贴图
  6. 医疗直播怎么做?直播前准备篇
  7. vue-router3 源码注释系列 /src/util/scroll.js
  8. 白居易李白唐代诗三百
  9. 利用frp进行内网穿透将iPad变成“iPad Book”
  10. mysql删除用户userdel_Linux userdel命令详解:删除用户