DOCTYPE 标签,是html文档的类型声明(document type declaration,所谓声明,也就是宣称我他妈是谁),用来告诉浏览器,使用什么样的文档类型定义(Document Type Definition, DTD,是对文档概括性描述,什么个结构啊,有哪些有效的标签,支持些什么属性,什么事件啊)来解析文档。
html文档是你写的,而负责渲染的是浏览器。如果你跟所有浏览器能达成共识,有些话不说,也能她懂你,你懂她,那不声明也没事,就像你回家不用跟你爸声明,你是陈二蛋。
但不同浏览器渲染页面的方式并不一致,同一个html文档交给不同的浏览器按自己的方式来渲染,得到的结果会不一致。导致这一问题的原因很多,有当初的“浏览器大战”(为了抢用户,抢市场,拼命的往自家浏览器里添加新特性,新功能),有对W3C标准的轻视,有W3C规范制定的迟缓等等。
对于web 开发人员来说,这其实是项权利。通过<!DOCTYPE>标签让你能够命令浏览器,按什么样的规范(W3C标准)来解析你的代码(称为标准模式)。如果不写,那浏览器就按自己的方式来解析渲染页面(称为怪异模式)。而对于浏览器来说,这是为了解决兼容性问题采用的方案,目的是为了在更好的支持W3C标准的同时,还能渲染之前针对旧版本浏览器设计、没有严格遵循 W3C 标准的网页。

最新文章

  1. GJM: 设计模式 - 观察者模式
  2. mac系统下Ruby环境安装
  3. Lucene.net站内搜索—5、搜索引擎第一版实现
  4. IOS开发之多线程 -- GCD的方方面面
  5. Mac 下 gradle 路径
  6. 很实用的jQuery事件 - toggle() 方法
  7. php基础知识和函数
  8. Pre-compile (pre-JIT) your assembly on the fly, or trigger JIT compilation ahead-of-time (转)
  9. HDU2066一个人的旅行(dijkstra)
  10. TNS-12541,TNS-12560,TNS-00511,TNS-12542,TNS-12560,TNS-00512数据库启动监听报错
  11. linux分区工具fdisk的使用
  12. 系列四TortoiseSvn客户端软件
  13. ios富文本的简单使用 AttributedString
  14. TCP传输协议使用
  15. hud 2577 How to Type
  16. 将你的前端应用打包成docker镜像并部署到服务器?仅需一个脚本搞定
  17. Grid 实现瀑布流布局
  18. JNI开发-Java从C/C++获取List集合对象
  19. 剑指offer例题——跳台阶、变态跳台阶
  20. java 实验一

热门文章

  1. 【Quartz】基本原理
  2. 关于npm run dev报错npm ERR! missing script: dev
  3. 基于Anaconda 安装 geatpy 和 tensorflow
  4. Cisco ASA 8.3前及8.3后版本Access-list 变化
  5. 关闭MAC特效
  6. 学习GO第一天,自我感觉可麻利的开干了-GO语言配置、开发、服务器部署
  7. 《Algorithm算法》笔记:元素排序(2)——希尔排序
  8. 【Qt开发】QTime类
  9. 微服务Kong(六)——配置参考
  10. Java jstl标签使用总结