噩梦开始的源头:以前写html或者jsp页面,历来不注意doctype的声明,也不太明白doctype的做用。直到最近碰到了一个很是奇葩的bug:某一个页面在IE7和8,Chrome,ff等下正常,可是在IE9下显示有问题,我就开始找啊找,各类调试,各类log,终于在httpWatch里边找到了答案:DOCTYPE未声明。因而我给页面添加了<!DOCTYPE html>,果真奏效了。html
下面我就尽量简洁扼要的说一下DOCTYPE的做用和用法。浏览器
1做用:声明文档的解析类型(document.compatMode),避免浏览器的怪异模式。jsp
document.compatMode:
BackCompat:怪异模式,浏览器使用本身的怪异模式解析渲染页面。
CSS1Compat:标准模式,浏览器使用W3C的标准解析渲染页面。调试
这个属性会被浏览器识别并使用,可是若是你的页面没有DOCTYPE的声明,那么compatMode默认就是BackCompat,htm
这也就是恶魔的开始 -- 浏览器按照本身的方式解析渲染页面,那么,在不一样的浏览器就会显示不一样的样式。文档
若是你的页面添加了<!DOCTYPE html>那么,那么就等同于开启了标准模式,那么浏览器就得老老实实的按照W3C的get
标准解析渲染页面,这样一来,你的页面在全部的浏览器里显示的就都是一个样子了。渲染
这就是<!DOCTYPE html>的做用。bug
2 使用:<!DOCTYPE html>im
2.1 使用也很简单,就是在你的html页面的第一行添加"<!DOCTYPE html>"一行代码就能够了
2.2 jsp的话,添加在<%@ page %>的下一行。
2.3 不用区分大小写哦