现在的各种前端开发工具都足够强大,支持插入模板代码,也就导致我们往往会忽略已经自动生成的代码,而代码的第一行 DOCTYPE 声明,就是最容易忽略的部分。

一、DOCTYPE

DOCTYPE 是 document type(文档类型的)的简写。

1.1 DOCTYPE 的作用

告诉浏览器需要通过哪一种规范(文档类型定义,DTD)解析文档(比如HTML或XHTML规范);

二、DTD

DTD(document type definition,文档类型定义)是一系列的语法规则,用来定义 XML 或 (X)HTML 的文件类型。浏览器会使用它来判断文档类型, 决定使用何种协议来解析,以及切换浏览器模式。

三、浏览器模式

为了能够很好地显示满足标准的页面,又能最大程度兼容不合法的HTML。 浏览器厂商一般会提供两种浏览器模式。

3.1 标准模式

标准模式(standards mode):浏览器根据W3C标准来渲染页面。

3.2 混杂模式

混杂模式(quirks mode):浏览器采用更加宽松的、向后兼容的方式来渲染页面。

混杂模式下,浏览器会模仿旧浏览器的行为,比如IE6,在此基础上兼容新的标准特性。 混杂模式又称兼容模式怪异模式等。

四、DOCTYPE 切换

浏览器根据不同的 DOCTYPE 选择不同的渲染方法就叫做 DOCTYPE 切换。 其实 DOCTYPE切换就是用来识别和兼容旧网页的。

五、<!DOCTYPE html>的重要性

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

如果你是使用最新标准编写的页面但未给出 DOCTYPE 声明,这时就可能会出现一些怪异的行为。但若你声明了<!DOCTYPE html>,那么浏览器等同于进入了标准模式,并且按照W3C标准渲染页面。

阅读更多

最新文章

  1. My97DatePicker日期插件
  2. php 常见的问题
  3. php 命名空间
  4. EntityFramework查询oracle数据库时报ora-12704: character set mismatch
  5. linux服务之crond
  6. TCP/IP协议三次握手与四次握手流程解析(转载及总结)
  7. java学习面向对象之异常之一
  8. .net对js和css、img剥离项目进行压缩优化、cdn加速
  9. 大并发连接的oracle在Linux下内存不足的问题的分析(转)
  10. js验证是否是数字,支持正负数小数
  11. 常用PHP函数
  12. HDOJ 4251 The Famous ICPC Team Again
  13. Google Chrome 圆形进度条
  14. ML.NET 示例:推荐之场感知分解机
  15. 20175126《Java程序设计》第一周学习总结
  16. JavaScript: 认识 Object、原型、原型链与继承。
  17. 【转】js面试题,明确自己的不足
  18. ios Develop mark
  19. Dream------scala--开发环境搭建
  20. 【BZOJ】【2435】【NOI2011】道路修建

热门文章

  1. 吴裕雄--天生自然C语言开发:数组
  2. F. Maximum Weight Subset(贪心or树形dp解法)
  3. python语法基础-异常操作-长期维护
  4. dedecms_5.7 download.php SQL注入
  5. Object.prototype.toString.call(obj).slice(8,-1)
  6. JwtUser JwtAuthenticationEntryPoint JwtAuthorizationTokenFilter JwtUserDetailsService AuthenticationController
  7. Memcached的批量删除方案总结
  8. SpringMVC源码剖析2——处理器映射器
  9. Mysql主从同步原理简介
  10. Mac使用sublime text3的快捷键