doctype或DTD

Doctype或DTD

许多编码人员对所有文档类型及其对浏览器和网页显示的影响感到困惑。 本文将直接介绍doctype及其用法。

Doctype是其全名“文档类型定义”或DTD的缩写。 如果您注意这些词的意思,您会注意到它在您的网页,文档中用于定义数据类型,即页面所包含的元素。 在这里,您的浏览器将了解<div>标记的含义及其属性。 如果不定义类型,您将让浏览器自由决定如何自己定义此类内容,并且通过假设“怪异模式”可能会做最坏的事情。

“怪癖”是由于几年前Internet Explorer的问题而使旧版浏览器适应的模式。 Microsoft的人们以几种方式误解了W3C Web标准。 例如,尽管所有其他浏览器制造商都知道边距和填充间距不在包含元素的边界之内,但Microsoft还是让Internet Explorer将填充放在了内部。 除了其他错误外,这还使在Internet Explorer中按标准书写的页面看上去“古怪”。

为了纠正此问题,浏览器现在在每个网页中寻找适当的doctype作为代码的第一行。 没有它,他们将承担“怪癖”,这就像1996年一样。 那这告诉我们什么呢?

每个网页都需要一个正确的doctype,以确保所有浏览器都能最好地遵守该标准。

哪个文档类型?

有三种:严格,过渡和框架集。 让我们以相反的顺序分别查看它们。

框架集。 如果您在代码中使用框架,则可以使用它。

对于HTML:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN"
   "http://www.w3.org/TR/html4/frameset.dtd">
对于XHTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
过渡性的。 过渡式允许编码人员使用使用不推荐使用的HTML元素(即那些打算从标准中删除并移入表示性标记(CSS)的标记)编写的标记。 如果您的页面较旧,包含<center>或<font>之类的标记或其他表示性标记,则可以在将页面中的标记“转换”为现代标准时使用转换文档类型。 除此之外,没有理由使用过渡文档类型。

对于HTML:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
   "http://www.w3.org/TR/html4/loose.dtd">
对于XHTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
严格。 所有新创建的页面均应使用严格的doctype。 严格表示您正在使用当前元素按照当前标准进行编码,并且已将您的演示信息移至CSS样式表。 由于所有新页面都应使用严格的页面,因此您基本上可以忽略其他页面,因为它们没有任何作用。

对于HTML:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
   "http://www.w3.org/TR/html4/strict.dtd">
对于XHTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
通过使用正确的文档类型,W3C验证程序还可以在您相距太远之前警告您代码中的错误。 您应该始终在尽可能多的浏览器中测试页面,但是最好的浏览器是现代且符合标准的浏览器。 Firefox和Opera对检查兼容代码特别有用。 警告 :某些浏览器,特别是IE浏览器,会在标记的第一行中查找doctype。 如果任何类型的字符preceed文档类型本身,浏览器不承担任何DOCTYPE存在并进入怪癖模式。 XML声明

在阅读有关XHTML的文章时,您会在上面列出的doctypes之前遇到此行:<?xml version =“ 1.0” encoding =“ utf-8”?>。 这是XML“处理指令”或PI。 毕竟,XHTML是XML形式的HTML,因此您的页面可以使用HTML元素。 但是它是XML,因此必须这样声明。

不幸的是,出于上述相同的原因,低于版本7的Internet Explorer会迷失于此并进入怪异模式。 因此,最好暂时不使用此行。 您有可能以text / html的形式提供页面,并且声明XHTML仍然没有给您带来任何好处。 如果您以文本/ xml + xhtml的形式提供XHTML,那么您就知道您正在提供可以本地处理XHTML的浏览器。 然后,XML声明应包含在第一行中。 但是请注意,Internet Explorer不处理本机XHTML。

From: https://bytes.com/topic/html-css/insights/641513-doctype-dtd

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值