HTML !DOCTYPE 声明详解
什么是<!DOCTYPE>?
<!DOCTYPE> 声明不是一个 HTML 标签;它是用来告知 Web 浏览器页面使用了哪种 HTML 版本。
<!DOCTYPE> 声明位于文档中的最前面的位置,处于 <html> 标签之前,<!DOCTYPE>声明告知浏览器的解析器用什么文档标准解析这个文档(标准模式)。若声明错误或未声明会导致文档以兼容模式/混杂模式呈现。
<!DOCTYPE> 标签没有结束标签。<!DOCTYPE> 声明不区分大小写。总是先给 HTML 文档添加 <!DOCTYPE> 声明,确保浏览器能够预先知道文档类型。
标准模式与兼容模式
若文档为标准模式,则该文档的排版与JS运作模式都是以该浏览器支持的最高标准运行;
兼容模式中,页面以宽松的向后兼容的方式显示,模拟老式浏览器的行为以防止站点无法工作。
html4.01与html5中的<!DOCTYPE>
在html4.01中,<!DOCTYPE>声明需要引用DTD(文档类型声明),因为它是基于SGML(Standard Generalized Markup Language 标准通用标记语言),DTD 指定了标记语言的规则,确保了浏览器能够正确的渲染内容。html5不基于SGML因此不需要引用DTD。
HTML 5 只有一种<!DOCTYPE> 声明:
HTML5
<!DOCTYPE html>
HTML 4.01 规定了三种不同的 <!DOCTYPE> 声明,分别是:Strict、Transitional 和 Frameset
HTML 4.01 Strict
不允许使用表现性、废弃元素(如font)以及框架集(如frameset)。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
HTML 4.01 Transitional
允许使用表现性、废弃元素(如font),不允许使用框架集(如frameset)。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
HTML 4.01 Frameset
允许表现性元素,废气元素以及框架集。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">
其他常见的DOCTYPE 声明
XHTML1.0 Strict
不允许使用表现性、废弃元素(如font)以及框架集(如frameset),文档必须是结构良好的XML文档。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
XHTML1.0 Transitional
允许使用表现性、废弃元素(如font),不允许使用框架集(如frameset),文档必须是结构良好的XML文档。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
XHTML 1.0 Frameset
允许表现性元素,废气元素以及框架集,文档必须是结构良好的XML文档。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
XHTML 1.1
不允许使用表现性、废弃元素(如font)以及框架集(如frameset),文档必须是结构良好的XML文档,但是允许添加模块(例如为东亚语言提供 ruby 支持)。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
HTML 元素和有效 DOCTYPES
以下链接中的表格列出了所有的 HTML5/HTML 4.01/XHTML 元素,以及它们会出现在什么文档类型 (!DOCTYPE) 中,效果如图。
链接:http://www.runoob.com/tags/html-elementsdoctypes.html
文章参考资料:http://www.runoob.com/tags/tag-doctype.html
转载请注明地址:丝瓜 » HTML <!DOCTYPE> 声明详解
转载于:https://www.cnblogs.com/zhengshihui/p/6868419.html
HTML !DOCTYPE 声明详解相关推荐
- python开头声明中文_python开头——文件声明 详解
一.解释器声明 1.声明方式 linux #!/usr/bin/python windowns #!c:/python27/python.exe 放在首行 2.作用 告诉电脑,要用/usr/bin下面 ...
- python开头声明_python开头——文件声明 详解
一.解释器声明 1.声明方式 linux #!/usr/bin/python windowns #!c:/python27/python.exe 放在首行 2.作用 告诉电脑,要用/usr/bin下面 ...
- JavaScript 变量声明详解: var, let, const
JavaScript 中,可以声明变量的关键字有 var.let和const. var 使用 var 定义变量,可以保存任何类型的值.若不初始化变量,变量会保存 undefined. 1. 函数级作用 ...
- Cocos技术派 | TS版各种属性声明详解
先来看一段代码: cc.Class({extends: cc.Component,properties: {userID: 20,userName: "Foobar"} }); 这 ...
- syscall指令_linux系统调用-SYSCALL_DEFINEx详解
系统调用在内核中的入口都是sys_xxx,但其实Linux的系统调用都改为SYSCALL_DEFINE定义的.本文以socket系统调用为例来详解. 1 首先看一下SYSCALL_DEFINE的定义, ...
- DOCTYPE声明作用及用法详解
一.浏览器呈现模式和doctype 有的网页是遵循标准而创作的,但也有很多不是.即使你不能创建遵循标准的网页,也希望浏览器根据标准来正确显示那些页.目前,大量网页充斥着大量非标准代码,它们仍能正常地工 ...
- python类装饰器详解-Python类中的装饰器在当前类中的声明与调用详解
我的Python环境:3.7 在Python类里声明一个装饰器,并在这个类里调用这个装饰器. 代码如下: class Test(): xx = False def __init__(self): pa ...
- php 得到 ts文件,获取TypeScript声明文件.d.ts步骤详解
这次给大家带来获取TypeScript声明文件.d.ts步骤详解,获取TypeScript声明文件.d.ts的注意事项有哪些,下面就是实战案例,一起来看一下. 一.TypeScript的声明文件就像C ...
- c++ 代码_C代码对汇编代码中声明的全局符号的访问方式详解
首先声明一点:符号的值是地址,该地址上存储的值才是变量,不明白的话看另一篇文章: "静态链接与动态链接的宏观概述及微观详解". (1)对非数组符号的访问,编译器生成访存指令,要想寻 ...
- swift. 扩展类添加属性_swift中的声明关键字详解
原起 学习swift,swift中的关键字当然要了解清楚了,最近在网上看到了关于声明关键字的文章,整理记录一下. 关键字是类似于标识符的保留字符序列,除非用重音符号(`)将其括起来,否则不能用作标识符 ...
最新文章
- 无头结点单链表的逆置_单链表的逆置(不带头结点)
- 学界 | 邢波团队提出 contrast-GAN:实现生成式语义处理
- citrix POC环境准备
- Linux操作系统安装字体笔记
- elementUI vxe-table结合使用(通用表格)
- 线性表的顺序存储的基本操作
- 数组的连续最大子段和
- quartus仿真30:D触发器构成的可重复序列111探测器
- CLR via C#深解笔记四 - 方法、参数、属性
- 现代控制理论电子版_SANXINB01开发板verilog教程V3电子版
- mui 框架跨域_MUI框架学习(5)–AJAX跨域问题
- 如何快速统计多条线段的长度和?
- Qt-命令行更新翻译.ts文件
- 想查看微信好友撤回的消息?Python帮你搞定
- Linux系统下操作的常用快捷键
- springboot项目部署 + vue项目部署
- 科技SCI论文正体斜体规定
- 微信装修装饰小程序源码开发方案
- 打不开磁盘“E:\CentOS 64 位.vmdk”
- ARP代理(善意的欺骗)