DOCTYPE的作用和类型详解

DOCTYPE的作用和类型详解

首先,介绍两个概念(SGML、DTD)

SGML是一种定义电子文档结构和描述其内容的国际标准语言,是所有电子文档标记语言的起源。它规定了在文档中嵌入描述标记的标准格式,指定了描述文档结构的标准方法,HTML格式就是使用固定标签集的以重SGML文档。
DTD(Document Type Definition 文档类型定义)是一组机器可读的规则,它定义XML或HTML元素及它们的属性和层次关系。浏览器根据你定义的DTD来解释你页面的表示,并展现出来。

什么是DOCTYPE?
声明一般位于文档的第一行,作用是告诉浏览器以什么样的模式来解析文档。在标准模式下,浏览器的解析规则都是按照最新的标准进行解析的。而在兼容模式下,浏览器会以向后兼容的方式来模拟老式浏览器的行为,以保证一些老的网站的正确访问。
DOCTYPE声明的必要性

<!DOCTYPE>声明的前面没有任何内容,如果有其他内容(除了空格),就会使浏览器在IE下开启怪异模式渲染网页。如果浏览器进入怪异模式,就会按自己的方式解析渲染页面。那么,在不同的浏览器下,显示的样式效果会不一致。如果不写文档DOCTYPE声明,浏览器将无法获知HTML或XHTML文档的类型,也会进入怪异模式;还有在IE6以下版本永远进入怪异模式。只要我们对文档DOCTYPE做了正确的声明,浏览器就会进入标准模式;浏览器会按照W3C的标准来解析渲染页面,那么,在所有的浏览器下,显示的样式效果会保持一致。

DOCTYPE常见声明类型

1、HTML5 <!DOCTYPE>声明—> eg:<!doctype html>
2、HTML4.01和XHTML1.0
HTML Strict DTD
如果需要干净的标记,免于表现层的混乱,可以使用此类型。与层叠样式表(CSS)配合使用:
DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.01//EN” " http://www.w3.org/TR/html4/strict.dtd"
HTML Transitional DTD
Transitional DTD 可包含 W3C 所期望移入样式表的呈现属性和元素。如果读者使用了不支持层叠样式表(CSS)的浏览器以至于您不得不使用 HTML 的呈现特性时,请使用此类型:
DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.01 Transitional//EN” " http://www.w3.org/TR/html4/loose.dtd"
Frameset DTD
Frameset DTD 应当被用于带有框架的文档。除 frameset 元素取代了 body 元素之外,Frameset DTD 等同于 Transitional DTD:
DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.01 Frameset//EN” " http://www.w3.org/TR/html4/frameset.dtd"
3、XHTML1.1规定了一种声明,等同于XHTML1.0的Strict,但允许添加框架集。

HTML5 为什么只需要写 ,而不需要引入 DTD?

HTML5 不基于 SGML,因此不需要对 DTD 进行引用,但是需要 DOCTYPE 来规范浏览器的行为(让浏览器按照它们应该的方式来运
行)。而 HTML4.01 基于 SGML ,所以需要对 DTD 进行引用,才能告知浏览器文档所使用的文档类型。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值