噩梦开始的源头:之前写html或者jsp页面,从来不注意doctype的声明,也不太明白doctype的作用。直到最近碰到了一个非常奇葩的bug:某一个页面在IE7和8,Chrome,ff等下正常,但是在IE9下显示有问题,我就开始找啊找,各种调试,各种log,终于在httpWatch里边找到了答案:DOCTYPE未声明。于是我给页面添加了<!DOCTYPE html>,果然奏效了。
下面我就尽可能简洁扼要的说一下DOCTYPE的作用和用法。
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 不用区分大小写哦
想了解更多,可以参考:
w3c : http://www.w3school.com.cn/tags/tag_doctype.asp
博文:http://i.wanz.im/2010/05/28/why_doctype_html/
愤怒的coder - 以后所有页面都要添加DOCTYPE
分享到:
相关推荐
javascript局部自定义鼠标右键菜单 ...DOCTYPE html> <html> <head> <meta charset="utf-8"> <title></title> <style type="text/css"> #TextBox{ width: 200px; height: 200px; border: 1px solid #000;
js制作轮播图效果 轮播图在前端开发中我认为是一个比较重要的点,因为包含了很多...DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge">
基于事件冒泡、事件捕获和事件委托详解 事件冒泡、事件捕获和事件委托 在javascript里,事件委托是很重要的一个东西,事件委托依靠的就是事件冒泡和捕获的机制,我先来解释一下...DOCTYPE html> <html> <head> <m
DOCTYPE html> 描述当前文件的版本信息,如果没有详细说明4.0还是x1.0 那就是5版本。2、<html>html文件3、<head>网页的头部4、<meta charset=“UTF-8”> utf-8 是国际编码的意思,如果不写,或者写成其他都会有问题...
,<footer>、<nav>、<time>、<mark>、<figure> 和 <figcaption>。 这些标签被除了IE 外的所有现代浏览器(Firefox 3+、Safari 3.1+、Chrome 2+、and Opera 9.6+)支持。Javascript 提供了document.createElement(tag...
DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>...
<br> }<br> </script><br></head><br><body><br> <form id="dataform" method="post" action="target.aspx"><br> <textarea id="content"></textarea><br> </form><br></body><br></html><br><br>说明:<br><br>...
<br>}<br></script><br></head><br><body><br><form id="dataform" method="post" action="target.aspx"><br><textarea id="content"></textarea><br></form><br></body><br></html><br><br>说明:<br><br><script ...
DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta ...
DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title>Hello MobileTalk</title> <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-...
重要提示:我强烈建议您在使用此工具之前删除所有当前模板,并仅使用zabbixcli管理您的zabbix模板。范本随意使用任何这些模板 ,对其进行修改或自行制作。用法可以通过运行带有-h标志的zabbixcli来找到工具使用指南...
DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <body> <table cellpadding="5" ...
材质Web组件 重要说明:Material Web Components尚在开发中,在1.0发行之前可能会有重大更改。 Material Web Components(MWC)是由Google维护的实现的的集合。 成分 ...doctype html > < html
这两天学习了Vue.js 感觉组件这个地方知识点挺多的,而且很重要,所以,今天添加一点小笔记。 首先Vue组件的使用有3个步骤,创建组件构造器,注册组件,使用组件3个方面。 代码演示如下: <!DOCTYPE html> <...
<li><a href="${a.url}" target="_blank">${a.title}</a></li> [/#list] 就是简单的将tag_list中的内容,即“paramWrap.put(OUT_LIST, DEFAULT_WRAPPER.wrap(list));”中放入的数据遍历出来 style_2-1.html中的...
DOCTYPE html> <html> <head> <meta http-equiv=Content-Type content=text/html; charset=UTF-8> <style> pre {outline: 1px solid #ccc; padding: 5px; margin: 5px; } .string {
DOCTYPE html> <html ng-app> <head lang=en> <meta charset=UTF-8> [removed][removed] <title>tutorial02</title> </head> <body> <div> 用户名:<input type=...
这几天看了angularjs和backbone,大看了解了knockout和...<br>//这个重要是做IE的兼容,发现不管用,IE坑爹,你懂的 <body ng-app=”routeApp” class=”ng-app:routeApp” id=”routeApp”> <h1>Route Demo i
mybatis 用来建立 sessionFactory 用的,里面主要包含了数据库连接相关东西,还有 java 类所对应的别名,比如 <typeAlias alias="User" type="com.yihaomen.mybatis.model.User"/> 这个别名非常重要,你在 具体的类...
常见HTML标签根据要在页面上构建哪些元素,可以选择许多HTML标签。 您可以随时在此处查找HTML标签。 但是,这是一些最常见HTML标记的简短列表,您会在整个课程中看到这些... <p> Hello World</p> </body> </h