关于DOCTYPE

什么是DOCTYPE呢

它的目的是要告诉标准通用标准语言解析器(就是我们的浏览器),它应该使用什么样的文档类型定义(DTD,Document Type Declaration)来解析文档。

DOCTYPE的用法

DOCTYPE的声明位于一个HTML文档的最前面,在根元素html的前面。我们可以通过输出 document.compatMode的结果来判断当前文档采用的DTD。一般情况下如果不采用DOCTYPE来进行声明,那么默认的就是Backcompat(向后兼容模式,即混杂模式)。输出结果为CSS1compat的即为标准模式。
我们最常使用也是最不容易出的是采用HTML5的DTD:
<!DOCTYPE html>
<html>
<head>
	<meta charset="UTF-8">
	<title>Document</title>
</head>
<body>
	<!-- 在声明html5标准的DTD之后,显示CSS1compat,即标准模式 -->
	<!-- 若不声明DTD,则为混杂模式 -->
	<script>document.write(document.compatMode);</script>
</body>
</html>

这种声明方式相较于以前的版本更加方便简洁,<!DOCTYPE html>即可。

DOCTYPE的类型

 *   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">
(以上为引用)

有关HTML5的DTD声明

在HTML4.01中有三种声明方式,而在H5中只有一种。这是因为HTML4.01基于SGML,而HTML5不基于SGML因此不需要引用
所以

大家忘掉上面那些乱七八糟的东西只要记住<!DOCTYPE html>就好啦!!!



(我不会说我写了好久html都没声明过DOCTYPE的hhhhh)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值