什么是<!DOCTYPE html>?

在HTML文档初,往往会有这么一句话<!DOCTYPE html>,那么它的意义是什么呢?它是html5标准网页声明,全称为Document Type HyperText Mark-up Language,意思为文档种类为超文本标记性语言或超文本链接标示语言,现在是这个简洁形式,支持html5标准的主流浏览器都认识这个声明。表示网页采用html5,<!DOCTYPE> 声明位于文档中的最前面的位置,处于 <html> 标签之前。此标签可告知浏览器文档使用哪种 HTML 或 XHTML 规范。
这个标签可声明三种 DTD 类型,分别表示严格版本、过渡版本以及基于框架的 HTML 文档。
public 这行声明了文档的根元素是 html,它在公共标识符被定义为 "-//W3C//DTD XHTML 1.0 
Strict//EN" 的 DTD 中进行了定义。浏览器将明白如何寻找匹配此公共标识符的 DTD。如果找不到,浏览器将使用公共标识符后面的URL 作为寻找 DTD 的位置。

<!DOCTYPE html>的重要性?

1作用:声明文档的解析类型(document.compatMode),避免浏览器的怪异模式。

document.compatMode:
BackCompat:怪异模式,浏览器使用自己的怪异模式解析渲染页面。
CSS1Compat:标准模式,浏览器使用W3C的标准解析渲染页面。

这个属性会被浏览器识别并使用,但是如果你的页面没有DOCTYPE的声明,那么compatMode默认就是BackCompat,

这也就是恶魔的开始 -- 浏览器按照自己的方式解析渲染页面,那么,在不同的浏览器就会显示不同的样式。

如果你的页面添加了<!DOCTYPE html>那么,那么就等同于开启了标准模式,那么浏览器就得老老实实的按照W3C的

标准解析渲染页面,这样一来,你的页面在所有的浏览器里显示的就都是一个样子了。

这就是<!DOCTYPE html>的作用。

2 使用:<!DOCTYPE html>

2.1 使用也很简单,就是在你的html页面的第一行添加"<!DOCTYPE html>"一行代码就可以了

2.2 jsp的话,添加在<%@ page %>的下一行。

2.3 不用区分大小写

附:需要注意的问题

没什么特别的,就是一定要将Doctype声明放在xHTML文档的顶部,上面哪怕多个html注释标记都不行。

最好示例代码也加上Doctype,否则效果会有差异。尽管我们不给出这句声明浏览器照样会将HTML文档呈现出来,但是由于HTML版本导致的bug也许就出在这里。

转载于:https://www.cnblogs.com/albertzhangyu/p/8647528.html

!DOCTYPE html 到底是什么意思?相关推荐

  1. Django-C002-深入模型,到底有多深

    此文章完成度[100%]留着以后忘记的回顾.多写多练多思考,我会努力写出有意思的demo,如果知识点有错误.误导,欢迎大家在评论处写下你的感想或者纠错. ORM介绍:对象关系映射(英语:(Object ...

  2. JS魔法堂:doctype我们应该了解的基础知识

    一.前言 什么是doctype?其实我们一直使用,却很少停下来看清楚它到底是什么,对网页有什么作用.本篇将和大家一起探讨那个默默无闻的doctype吧! 二.什么是doctype doctype或DT ...

  3. DOCTYPE html PUBLIC 指定了 HTML 文档遵循的文档类型定义

    DOCTYPE html PUBLIC 指定了 HTML 文档遵循的文档类型定义 今天看到一篇CSS应用的一个友好搜索,我按网页上的代码复制.粘贴后预览时总达不到效果,而直接拷贝他的实例却能达到效果, ...

  4. 盒子模型与DOCTYPE

    2019独角兽企业重金招聘Python工程师标准>>> 盒子模型都具有的属性:内容(content).填充(padding).边框(border).边界(margin): W3C标准 ...

  5. html5实现饼图和线图-我们到底能走多远系列(34)

    我们到底能走多远系列(34) 扯淡: 送给各位一段话:     人生是一个不断做加法的过程 从赤条条无牵无挂的来 到学会荣辱羞耻 礼仪规范 再到赚取世间的名声 财富 地位 但是人生还要学会做减法 财富 ...

  6. 合并HTTP请求 vs 并行HTTP请求,到底谁更快?

    面试时,经常会问候选人一个问题:如何提高网页性能? 有些基础的人都会提到这么一条:减少/合并HTTP请求. 继续问:浏览器不是可以并行下载资源吗?将多个资源合并成一个资源,只使用一个HTTP请求下载, ...

  7. Doctype作用? 严格模式与混杂模式如何区分?它们有何意义?Doctype文档类型?

    Doctype作用? 严格模式与混杂模式如何区分?它们有何意义?Doctype文档类型? 一.Doctype作用? 二.严格模式与混杂模式如何区分? 三.它们有何意义? 四.Doctype文档类型? ...

  8. Bilibili到底有多少御坂妹?(三)

    1.展示 因为最近刚巧刚刚开始接触PHP,所以直接就改用PHP来做了,懒得再用Django做接口了.同时,之前使用Vue做过一个项目,但是感觉这里不需要那么大的工程,PHP+Bootstrap,完全o ...

  9. canvas到底是块级元素还是内联元素?

    canvas到底是块级元素还是内联元素? 前言 canvas 是块级元素? canvas 是内联元素? 问题 总结 参考 前言 canvas 元素有默认的宽高,到底是块级元素还是内联元素,一直都很疑惑 ...

最新文章

  1. 资深算法工程师万宫玺:Java工程师转型AI的秘密法宝——深度学习框架Deeplearning4j | 分享总结
  2. 爬取58二手数据.py
  3. 用python 登录 ssh 与 sftp 通过证书登录系统
  4. python lambda函数加法_python lambda的使用详解
  5. kernel mtd 分区与UBOOT 分区的理解
  6. ASP.NET Core分布式项目实战(oauth2 + oidc 实现 server部分)--学习笔记
  7. Linux 命令之 netstat -- 查看网络状态信息/显示网络状态
  8. python实现推荐系统代码_推荐系统之矩阵分解及其Python代码实现
  9. 上传文件时显示选择窗口
  10. linux基础之基础命令一
  11. 查看计算机数字证书,数字证书认不到怎么办?
  12. C#利用NOPI导出到Excel
  13. 决策树实现手写体识别
  14. oracle 12C 创建用户失败 解决方案
  15. 三、网页中的超链接(hyperlink)
  16. android bks证书生成方式
  17. JAVA——从基础学起(五)类和对象
  18. 第三周 目标检测(Object detection)
  19. MySql 数据库10038问题终极解决
  20. 冬季黄山(2~3 日游)攻略

热门文章

  1. 工业互联网联盟发布工业物联网安全框架
  2. 教你成为全栈工程师(Full Stack Developer) 一-各显神通总结八大类编程语言的区别...
  3. SQLServer 维护脚本分享(05)内存(Memory)
  4. 根据中心点、半径长度和角度画点
  5. Server object instance creation failed on all SOC machines
  6. Linux中shell编程的for循环用法
  7. mongodb java驱动_Java的MongoDB驱动及读写策略
  8. 蓝桥杯 ADV-158 算法提高 新建Microsoft Word文档
  9. LeetCode 386. Lexicographical Numbers
  10. 1081. Rational Sum (20)-PAT甲级真题