关于<!DOCTYPE html>
1.定义
DOCTYPE标签是一种标准通用标记语言的文档类型声明,目的是要告诉标准通用标记语言解析器,它应该使用什么样的文档类型定义(DTD)来解析文档。
<!DOCTYPE> 声明必须是 HTML 文档的第一行,位于 <html> 标签之前。
2.作用
声明文档的解析类型(document.compatMode),避免浏览器的怪异模式。
document.compatMode:
BackCompat:怪异模式,浏览器使用自己的怪异模式解析渲染页面。
CSS1Compat:标准模式,浏览器使用W3C的标准解析渲染页面。
这个属性会被浏览器识别并使用,但是如果你的页面没有DOCTYPE的声明,那么compatMode默认就是BackCompat,浏览器按照自己的方式解析渲染页面,那么,在不同的浏览器就会显示不同的样式。
如果你的页面添加了<!DOCTYPE html>那么,那么就等同于开启了标准模式,那么浏览器就得老老实实的按照W3C的标准解析渲染页面,这样一来,你的页面在所有的浏览器里显示的就都是一个样子了。
这就是<!DOCTYPE html>的作用。
3.使用方式
HTML 5:
<!DOCTYPE html>
HTML 4.01 Strict
该 DTD 包含所有 HTML 元素和属性,但不包括展示性的和弃用的元素(比如 font)。不允许框架集(Framesets)。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
HTML 4.01 Transitional
该 DTD 包含所有 HTML 元素和属性,包括展示性的和弃用的元素(比如 font)。不允许框架集(Framesets)。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
HTML 4.01 Frameset
该 DTD 等同于 HTML 4.01 Transitional,但允许框架集内容。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">
XHTML 1.0 Strict
该 DTD 包含所有 HTML 元素和属性,但不包括展示性的和弃用的元素(比如 font)。不允许框架集(Framesets)。必须以格式正确的 XML 来编写标记。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
XHTML 1.0 Transitional
该 DTD 包含所有 HTML 元素和属性,包括展示性的和弃用的元素(比如 font)。不允许框架集(Framesets)。必须以格式正确的 XML 来编写标记。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
XHTML 1.0 Frameset
该 DTD 等同于 XHTML 1.0 Transitional,但允许框架集内容。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
XHTML 1.1
该 DTD 等同于 XHTML 1.0 Strict,但允许添加模型(例如提供对东亚语系的 ruby 支持)。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
最新文章
- AOPR弹出Order Now窗口怎么办
- HighCharts日期及数值格式化
- Linux_安装软件包
- lucene源码地址
- object_c函数多个返回值
- leetcode 150. Evaluate Reverse Polish Notation ------ java
- 《学习OpenCV》练习题第四章第三题b
- javaweb学习总结十九(http协议概述以及http请求信息分析)
- [转载]C++中声明与定义的区别
- 《JavaScript 闯关记》之事件
- iOS系统原生二维码条形码扫描
- Android:抄QQ照片选择器(按相册类别显示,加入选择题)
- JS获取字符串实际长度
- webpack vue2.0项目脚手架生成的webpack文件
- ABAP 内表数据 与 Json串 相互转换
- [置顶]
 Xamarin android如何调用百度地图入门示例(一)
- centos7配置mysql
- Bootstrap源码分析系列之初始化和依赖项
- 超级简单!80行代码实现Google日历(拖放、移动、AJAX)
- java for语句
热门文章
- python3的嵌套函数
- 【转载】Java 9 新特性——模块化
- 关于开发环境无法运行applet
- WPF实现WORD 2013墨迹批注功能
- Mac 10.12安装SecureCRT
- Linux快速查看某条命令的版本和存放的位置(ls -l `which mvn`)
- Python3 print()函数sep,end,file参数用法练习
- springboot: mybatis逆向工程
- hibernate3.3.2搭建log4j日志环境
- Path;Paths和Files;FileVisitor