怎么看网页是使用的哪个HTML版本编写的?

  

  想要知道某个网页是由哪个HTML版本编写的,其实很简单,看源码最前面每个页面都要有的、但是看也看不懂的、老师还不一定讲的那一坨代码就行了。


HTML 版本

HTML 5

<!DOCTYPE html>

HTML 4.01 Strict

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">该 DTD 包含所有 HTML 元素和属性,但不包括展示性的和弃用的元素(比如 font)。不允许框架集(Framesets)。

HTML 4.01 Transitional

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
"http://www.w3.org/TR/html4/loose.dtd">该 DTD 包含所有 HTML 元素和属性,包括展示性的和弃用的元素(比如 font)。不允许框架集(Framesets)。

HTML 4.01 Frameset

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" 
"http://www.w3.org/TR/html4/frameset.dtd">该 DTD 等同于 HTML 4.01 Transitional,但允许框架集内容。

XHTML 1.0 Strict

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">该 DTD 包含所有 HTML 元素和属性,但不包括展示性的和弃用的元素(比如 font)。不允许框架集(Framesets)。必须以格式正确的 XML 来编写标记。

XHTML 1.0 Transitional

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "
http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">该 DTD 包含所有 HTML 元素和属性,包括展示性的和弃用的元素(比如 font)。不允许框架集(Framesets)。必须以格式正确的 XML 来编写标记。

XHTML 1.0 Frameset

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">该 DTD 等同于 XHTML 1.0 Transitional,但允许框架集内容。

XHTML 1.1

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">该 DTD 等同于 XHTML 1.0 Strict,但允许添加模型(例如提供对东亚语系的 ruby 支持)。


举个例子来解释一下这些代码是什么意思

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

     这代码由来是DTD标准,DTD标准可以理解成一种语法,这种语法规定了标签嵌套的规则,不同的DTD文件说明不同的标准DTD。比如有的DTD可以承认<baidu>百度</baidu>这种标签,但html专用的DTD文件(如:http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd)写的标准不能识别<baidu></baidu>这种标签,xml文件和html文件一样由DTD文件指定规则。xml是一种只负责信息内容的文件,DTD负责信息的结构,xml可以用指定的DTD文件校正,保证xml不会乱来,这和html文件linkcss有点相似。xml和css结合可以呈现网页,css单纯通过xml个性标签来识别,xml标签<A>对应css中A:{} 。而html一般能特别指定样式,标签style、class、ID属性等,但css中的p:{}这种通用标签属性写法也是从xmll+css标准传承下来的。因为html由W3C指定的有限的几个DTD文件限定,所以成为html,但xml可以由任何自写的DTD文件限定信息结构,所以可以简单认为html是xml的特例,但目前html已经不仅仅是xml延续这么简单了,增加了很多东西,但是html中看到了xml的影子,因为XML更贴近DTD。

理解这一点,以下是这段代码意思:


<!DOCTYPE      这是xml指定DTD文件的语法标签,就像html链接外部css用到的<link 标签一样,但<!DOCTYPE属于xml解释器的内置规则(类似C语言编译器内置C语言语法),而<link 是用DTD文件指定的规则,这个两个还是不一样的。


html            这个是指定当前文件最外层标签,xml里面叫root(根)标签,如果是xml中用<!DOCTYPE 指定DTD,这可以指定为任何字符串,只要对应当前xml文件的root标签,否则就是不合法的xml文件,就像不合法的C程序一样,解释器也会报错。


PUBLIC          说明指定的DTD文件是公共文件,相对私有文件来说的,也就是后面的url是任何人都可以访问的,比如可以是SYSTEM。


 "-//W3C//DTD XHTML 1.0 Transitional//EN"             指定本html文件使用的DTD的版本号,这个部分只是针对html才有的。

W3C             指的是出品的单位。

DTD XHTML 1.0 是指定版本号,其他还有html 4.01等。

Transitional   这里是过渡型版本,一般分Strict(严格)、Transitional、Frameset(框架)。

EN              应该是English的缩写,没有具体查实


 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">   指定DTD文件位置,在xml中还可以是相对路径、绝对路径


摘录自w3c.school

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值