<!DOCTYPE>标签

定义

DOCTYPE标签,是一种标准通用标记语言的文档类型声明,目的是告诉标准通用标记语言解析器,使用哪种文档类型定义(DTD)解析文档。

DOCTYPE,document type(文档类型)的简写,它指示浏览器对页面使用哪个HTML版本编译。

如果不写DOCTYPE标签,浏览器将无法获知HTML或XHTML文档的类型,就会进入怪异模式。 

 

浏览器两种表现模式:

Standards Mode(Strict Mode)     标准模式(严格模式)浏览器使用自己的怪异模式解析绚烂页面

Quirks Mode(Compatibility Mode)    怪异模式(兼容模式)浏览器使用W3C的标准解析渲染页面

如果浏览器进入怪异模式,就会按自己的方式解析渲染页面,那么在不同的浏览器下会显示不同的样式。然而,只要文档正确定义DOCTYPE,浏览器就会进入标准模式。按照W3C的标准来解析渲染。你的页面在所有的浏览器下样式都保持一致。(备注:IE6以下版本永远进入怪异模式)

 

使用

<!DOCTYPE>声明必须写在HTML文档第一行,位于<html>标签之前。

<!DOCTYPE>声明不区分大小写。 

浏览器支持:所有浏览器都支持<!DOCTYPE>声明。

 

常用的DOCTYPE声明

HTML 5

<!DOCTYPE html>

HTML 5与之前HTML 4.01<!DOCTYPE>声明的区别就在于,HTML 5不基于SGML,所以不需要引用DTD(文档类型定义)。HTML 4.01因为基于SGML,所以在<!DOCTYPE>声明中需要引用DTD。DTD规定了标记语言的规则,这样浏览器才能正确地呈现内容。

 

HTML 4.01 提供了三种DTD声明,不同的DTD对文档的类型要求严格程度不同。

 

HTML 4.01 Strict (严格型)

<!DOCTYPE HTML PUCLIC “-//W3C//DTD HTML 4.01//EN” “http://www.w3.org/TR/html4/strict.dtd”>

该DTD包含所有HTML元素和属性,但不包括展示性的和弃用的元素(如font)。不允许框架集(Framesets)。要求严格的DTD,你不能使用任何表现层的标识和属性。

 

HTML 4.01 Transitional(过渡型)

<!DOCTYPE HTML PUCLIC “-//W3C//DTD HTML 4.01 Transitional//EN” “http://www.w3.org/TR/html4/loose.dtd”>

该DTD包含所有HTML元素和属性,包括展示性的和弃用的元素(如font)。不允许框架集(Framesets)。要求非常宽松的DTD,她允许你继续使用HTML 4.01的表示,但要符合XHTML的写法。

 

HTML 4.01 Frameset(框架型)

<!DOCTYPE HTML PUCLIC “-//W3C//DTD HTML 1.0 Transitional//EN” “http://www.w3.org/TR/xhtml1/xhtml1-loose.dtd”>

该DTD等同于HTML 4 Transitional,但允许框架集内容。专门针对框架页面设计使用的DTD,如果你的页面中包含框架,需要采用这种DTD。

理想情况下使用严格型的DTD,但对于很多刚接触Web标准的前端工程师来说,过渡型的DTD是目前理想的选择。因为过渡型DTD允许我们使用表现层的标识、元素和属性,也比较容易通过W3C的代码校验。

 

HTML 1.0 Strict

<!DOCTYPE HTML PUCLIC “-//W3C//DTD HTML 1.0//EN” “http://www.w3.org/TR/xhtml1/xhtml1-strict.dtd”>

该DTD包含所有HTML元素和属性,但不包括展示性的和弃用的元素(如font)。不允许框架集(Framesets)。必须以格式正确的XML来编写标记。

 

HTML 1.0 Transitional

<!DOCTYPE HTML PUCLIC “-//W3C//DTD HTML 1.0 Transitional//EN” “http://www.w3.org/TR/xhtml1/xhtml1-loose.dtd”>

该DTD包含所有HTML元素和属性,包括展示性的和弃用的元素(如font)。不允许框架集(Framesets)。必须以格式正确的XML来编写标记。

 

HTML 1.0 Frameset

<!DOCTYPE HTML PUCLIC “-//W3C//DTD HTML 1.0 Frameset/EN” “http://www.w3.org/TR/xhtml1/xhtml1-frameset.dtd”>

该DTD等同于XHTML 1.0 Transitional,但允许框架集内容。

 

XHTML 1.1

<!DOCTYPE HTML PUCLIC “-//W3C//DTD HTML 1.0 Transitional//EN” “http://www.w3.org/TR/xhtml1/xhtml1-loose.dtd”>

该DTD等同于XHTML 1.0 Strict,但允许添加模型(例如提供对东亚语系的ruby支持)。

 

 

 

/*此随笔内容根据网上内容整理而成,非原创。如有侵权,表示歉意,请告知。*/

 

参考内容:

[1]W3School HTML<!DOCTYPE>标签

[2]为什么使用<!DOCTYPE HTML>

[3]doctype有几种

 

posted @ 2015-07-31 11:46  大脸妹  阅读(193)  评论(0编辑  收藏  举报