首先我们来了解一下什么是文档声明

文档声明就是文档告诉游览器该以什么样的标准去解析它。游览器可以解析的文档可不止html,还有xhtml,xml...当然在这里我们并不需要知道xhtml、xml是什么以及和html的区别,我们只需要知道,游览器可以解析的文档不止html ,所以文档声明是必须的,为的就是保证游览器能够正确解析文档类型。

然后我们再来了解下html(Hyper Text Markup Language)<超文本标记语言>:

所谓的超文本就是超级文本,或者超越文本的意思,因为它可以呈现图片,音乐甚至是音频,普通的文本当然就是只能呈现文字,标记你可以理解为就是标签<a><div>等,在一个文档里通过标签(标记)去对文档进行分类整理。至于语言,当然就是交流的工具,超文本标记语言就是供人和游览器交流的语言。

xhml,xml 各是什么语言我就不做赘述了,总之游览器都能识别他们,但是他们都有各自的文档规则,甚至同种语言不同版本的文档规则也有差别,下面给出部分文档的声明:

1.XHTML1.1

 语法:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">

2.XHTML 1.0 Frameset

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

3.XHTML 1.0 Transitional

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

4.XHTML 1.0 Strict

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

5.HTML 4.01 Frameset

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

6.HTML 4.01 Strict

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

其中 Frameset(框架) strict(严格) transitional (过渡),在这里我们只需要知道是用来给文档划分使用条件的,比如使用strict的类型声明的文档,游览器解析起来就会更加严格

我们可以看到<!doctype html 后面跟了一大串屎一样的的尾巴,这个尾巴就是DTD.

那么什么是DTD?

其实xhtml html(html5 之前),还有xml 都是基于一个标准或语言制定的,这个标准就是sgml(standard gernerate makeup laugue)<标准通用标记语言>,你可以把这个语言当做xhtml html(h5 以前)xml的母亲,而sgml 有一个DTD(document type definition) <文档类型申明>用来区分这些语言,游览器对于每一个DTD 都有一整套制定好的规则,用来帮助解析文档。。

最后到了我们的html5了。html5则一反常态直接脱离sgml ,自己形成了一套标准。这套标准目前已经被几乎所有游览器收录,而html5的文档声明很简单:只有<! doctype html>

那么对于那些没有收录html5标准的游览器,当遇到html5的声明会如何处理呢?

其实几乎所有版本的游览器都有处理文档头不正确的方法,对于识别不了的文档头则当做不正确处理,针对缺失的不正确的文档头游览器都有自己的默认兼容模式去解析文档

转载于:https://www.cnblogs.com/thinkingweb/p/10689175.html

html5的文档申明为什么是!DOCTYPE html?相关推荐

  1. HTML5文档结构主体结构 语义结构,html5组织文档结构.pdf

    html5组织文档结构 1 / 10 html5 组织文档结构 文档部分,即 body 部分,包含了访问者可以看到的内容.传统的 HTML 文档通常通过 div 元素来组织文档结构,再配 上适当的样式 ...

  2. 什么是html写出html的文档结构,HTML第二课:认识HTML4和HTML5的文档结构

    这两节课的目标是认识HTML4和HTML5的文档结构,了解它们的区别. 一.HTML4文档结构html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional/ ...

  3. 总结html5的文档结构,HTML5文档结构分析

    html5规范将元素分为三大类:元数据元素,流元素和短语元素 主体结构 doctype 元素 指示 web 关于页面使用哪个 html 版本进行编写的指令.html版本有:html 5,html 4. ...

  4. HTML5 跨文档消息传输

    对窗口对象的message事件进行监听 window.addEventListener("message", function(event) {//处理程序代码 },false); ...

  5. jquery.zSlide.js-基于CSS3/HTML5演示文档jQuery插件

    一.卖的什么葫芦药? jquery.zSlide.js是我最近折腾的一个jQuery插件,借助于CSS3和HTML5的一些新特性,在浏览器中实现类似于powerpoint幻灯片展示. 如果你看到这段文 ...

  6. html5教学文档笔记,4.HTML 教程- (HTML5 基础)

    HTML 教程- (HTML5 基础) 1.HTML 标题 HTML 标题(Heading)是通过 - 标签来定义的. 2.HTML 段落 HTML 段落是通过标签 来定义的. 3.HTML 链接 H ...

  7. html5 视口,HTML5 定义文档视口

    ■知识点 在移动Web开发中,经常会遇到viewport (视口),即浏览器显示页面内容的屏幕区域.一般移动设备的浏览器默认都设置一个标签,定义一个虚拟的布局视口,用于解决早期页面在手机上显示的问题. ...

  8. html5 表格文档常用指令

    <html>    --开始标签 <head> 网页上的控制信息 <title>页面标题</title> </head> <body& ...

  9. html5编辑文档,HTML5带各种趣味动画的文本编辑器

    CSS 语言: CSSSCSS 确定 body { background-color: #eee; } html, body { margin: 0px; height: 100%; overflow ...

最新文章

  1. 使用 Webix 创建 Email 客户端
  2. 华为云计算之储存基础知识
  3. JEECG 3.7跨时代重构精华版发布,企业级JAVA快速开发平台
  4. MySQL--更新自增列的潜在风险
  5. 【Java 8 新特性】Java Stream.of()用法示例
  6. kubernetes service 原理解析
  7. 【bzoj1520】[POI2006]Szk-Schools 费用流
  8. bootstrap基础表单样式
  9. 【研发管理】质量管理之约瑟夫·M.朱兰
  10. My_arduino(4)-------LiquidCrystal_I2C库文件
  11. dwg文件怎么转换成pdf格式的文件?
  12. 互联网信息安全与加密技术
  13. mui-添加自定义图标(彩色)
  14. MacBook上有哪些值得下载的软件?
  15. PDF转换器用什么好?这款一定能够帮到你
  16. Dirichlet Multinomial Mixtures (DMM)的R实现
  17. [洛谷 P1647]锁 --- 规律 + 二进制
  18. 断言Assertion
  19. 《般若波罗蜜多心经》白话文翻译版本
  20. 厦大自动化复试c语言,2019厦门大学自动化上岸

热门文章

  1. 鸿蒙系统平板界面,华为鸿蒙系统界面首次曝光!首款预装鸿蒙设备正式入网:发布在即...
  2. mysql 商品属性_MySQL产品属性表设计
  3. 前端判断数据类型的通用方法
  4. 优雅地在Mac+Valet环境下本地部署phphub
  5. leetcode第一刷_Search in Rotated Sorted Array
  6. 互联网产品设计常用文档类型-BRD、MRD、PRD、FSD
  7. sublime text 2中Emmet8个常用的技巧
  8. spring--(19)切面优先级
  9. fopen,fopen_s,fclose, _fcloseall函数用法
  10. CentOS 7中iptables服务暂停启动和保存备份