DOCTYPE标签、XHTML与HTML的区别

HTML <DOCTYPE>

经常在html文档头部看到类似下面的声明,一直很疑惑,不清楚它的意思,也不清楚和html和xhtml有什么区别…

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

<!DOCTYPE> DocType Decaration声明头。这个标签告诉了浏览器文档使用了哪种HTML 或 XHTML规范

说起HTML规范,同样有一个疑惑在我这里——为什么没有HTML1、2、3,而直接跳到4了?经过度娘后发现,当时因为html并不是太标准,加之浏览器匮乏,所以一直没有被推广,HTML真正被推广是在HTML4.01的时候。HTML4.01也是现阶段最常用的版本,并且HTML4.01是在IE6开始兼容的,而HTML5实在IE9开始兼容的。为了保证兼容性,所以,大部分网页都是使用HTML4.01标准,而移动端可以使用HTML5标准。

XHTML

那么什么是XHTML呢?XHTML中的X代表严格的意思。顾名思义,XHTML是HTML4.01的一个小类,一些人认为HTML4.01的标准版的语法规则太过随意(比如:可以随意使用大小写,属性值可以不加引号),所以又定制了XHTML,用来规范语法问题。所以,就此将HTML4.01分为了两个大类:HTML与XHTML

每种又分为三种,分别是strict、transitional、frameset,所以一共有6中HTML4.01

strict:语法上更为严格,比如:html中u标签表示下划线,但是html只表示文字的语义,不表示文字的样式,所以在此类中,是不可以使用 <u> 标签的

transtional:普通的

frameset:用于带有框架的文档

声明文档使用的规范

既然种类如此繁多,那么就要有一种方式来告诉浏览器,当前文档使用了哪一个标准:

注:DTD,DocType Decaration

HTML Strict DTD:

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

HTML Transitional DTD:

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

HTML Frameset DTD:

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

XHTML Strict DTD:

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

XHTML Transitional DTD:

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

XHTML Frameset DTD:

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

这样我们再看 <!DOCTYPE> 就很清楚了。

HTML5的DOCTYPE就很简单了:

<!DOCTYPE html>

最后更新于