doctype的几种模式
1:标准(严格)模式 2:怪异(混杂)模式
如何触发几种模式
1:触发标准模式
a:加DOCTYPE声明
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> 2 3 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <!DOCTYPE html>
b:设置X-UA-Compatible触发
使用一行代码来指定浏览器使用特定的文档模式
1 <meta http-equiv="x-ua-compatible" content="IE=9" > 2 <meta http-equiv="x-ua-compatible" content="IE=8" > 3 <meta http-equiv="x-ua-compatible" content="IE=7" >
触发怪异模式的几种情况
1、没写DOCTYPE,这个最常见;
2、加XML声明,可在ie6下触发 <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE ...>
3、在XML声明和XHTML的DOCTYPE之间加入HTML注释,可在ie7下触发
<?xml version="1.0" encoding="utf-8"?> <!-- keep IE7 in quirks mode -->
<!DOCTYPE ...>
4、<!--->放在<!DOCTYPE前面 5、写了DOCTYPE,但不在文档的第一行,实验证明,在DOCTYPE之前有任何非空字符都会触发IE6的怪异模式,在IE7下,DOCTYPE之前有XML的文档声明并不触发,但是在DOCTYPE和XML文档声明之间有任何非空字符仍然会触发。 所以,为了不触发怪异模式,要保证DOCTYPE写在整个html文档的第一行。
查看浏览器的渲染模式
在IE的控制台中输入javascript:alert(document.compatMode)
获取的结果
BackCompat 怪异模式
CSS1Compat 标准模式