HTML <!DOCTYPE>标签

本文详细解析了HTML和XHTML文档类型声明的作用、用法及不同类型的适用情况,帮助开发者正确设置文档类型,确保浏览器正确解析网页。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

参考资料:W3School 的DOCTYPE参考手册  http://www.w3school.com.cn/tags/tag_doctype.asp

适合扩展阅读的博客:http://www.blogjava.net/wealupa/archive/2009/12/10/305383.html

定义和用法

<!DOCTYPE>声明位于文档的最前面的位置,在<html>标签之前。它告诉浏览器文档使用哪种HTML或者XHTML规范。

在所有HTML文档中doctype是非常重要的,浏览器根据doctype来了解预期的文档类型。

<!DOCTYPE>标签没有结束标签,对大小写不敏感。

该标签可声明三种DTD类型,分别是严格版本(Strict)、过渡版本(Transitional)和基于框架(Frameset)的HTML文档。

PS: DTD(Document Type Definition)是一套关于标记符的语法规则。它是XML1.0版规格的一部分,是XML文件的验证机制,属于XML文件组成的一部分。DTD 是一种保证XML文档格式正确的有效方法,可通过比较XML文档和DTD文件来看文档是否符合规范,元素和标签使用是否正确。

HTML 4.01

HTML 4.01规定了三种文档类型:Strict、Transitional以及Frameset。

Strict DTD

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

适用情况:需要干净的标记,免于表现层的混乱,内容与样式的分离,请使用此类型。与层叠样式表(CSS)配合使用。

解释:在上面的声明中,声明了文档的根元素是html,它的公共标识符被定义为“"-//W3C//DTD HTML 4.0.1//EN"的DTD中进行了定义。浏览器将明白如何寻找匹配此公告标识符的DTD。如果找不到,浏览器将使用公共标识符后面的URL作为寻找DTD的位置。

Transitional DTD

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

适用情况:迫不得已要使用不支持层叠样式表(CSS)的浏览器以致不得不使用HTML的呈现特性,请使用此类型。Transitional DTD可包含W3C所期望移入样式表的呈现属性和元素。

Frameset DTD

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">

适用情况:Frameset DTD应当被用于带有框架的文档。除frameset元素取代了body元素以外,Frameset DTD等同于Transitional DTD。

HTML 5

注:HTML 4.01基于SGML,它的doctype需要对DTD进行引用,而HTML 5不基于SGML,不需要对DTD进行引用,但需要doctype来规范浏览器的行为。

PS:SGML(Standard Generalized Markup Language),标准通用标记语言,是一种定义电子文档结构和描述其内容的国际标准语言,是所有电子文档标记语言的起源,为语法置标提供了异常强大的工具,同时具有很好的扩展性,因此在数据分类和索引中非常有用。

HTML5中,文档类型声明很简单,只需:

<!DOCTYPE HTML>

XHTML

XHTML 1.0规定了三种XML文档类型:Strict、Transitional以及Frameset.

XHTML Strict DTD

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

适用情况:需要干净的标记,免于表现层的混乱,请使用此类型。请与层叠样式表(CSS)配合使用。

XHTML Transitional DTD

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

适用情况:使用了不支持层叠样式表(CSS)的浏览器以至于你不得不使用 XHTML 的呈现特性时,请使用此类型。Transitional DTD 可包含 W3C 所期望移入样式表的呈现属性和元素。

XHTML Frameset DTD

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">

适用情况:使用框架时。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值