日期:2014-01-24 浏览次数:20866 次
在较早之前的网页上,我们经常可以看到如下的网页结构代码:
<html>
<head>
<title>这是一个网页</title>
<meta name=”…” content=”…” />
……
</head>
<body>
……
</body>
</html>
很显然的,这种结构的网页代码是不符合Web标准规范的,但是浏览器仍然可以很好的呈现出这个网页来,只需代码没出什么错误。这个其实就像是用Table规划的页面跟Div构架的页面一样,浏览器都可以呈现出来,关健是哪个页面呈现的质量会更高。
做出一个页面,跟做好一个页面,两头有着很悠远的距离。
在浏览器的发展历程中,微软凭仗着将Internet Explorer捆绑进Windows操作系统中,从来成为浏览器市场上的霸主,从而也形成了一系列的IE对W3C组织所制定的Web标准于不顾的事情,微软的IE不断都只遵照自家的Web标准。很庆幸的是,微软决定在他的IE8中支持Web标准,虽然这事还没最终确定。除微软的IE外,Mozilla Firefox、Apple Safari、Opera、Chrome等浏览器则以支持Web标准的名义与IE做得长久的对抗。
浏览器的不同,于是就形成了对HTML代码默认解析的不同,所以即便同样的代码在不同的浏览器下也可能呈现出不同的款式来,于是这就需求有一份众浏览器都遵照的规则来协调众浏览器之间的差异,这份规则需求一个声明来援用它,这个声明就是DOCTYPE——document type(文档类型)。
DOCTYPE声明是标准网页中必不可少的部分,所以,想要制造一个符合W3C标准的网页,首先就需求为这个页面声明一个文档类型。
DOCTYPE所声明的DTD(文档类型定义)分为三种,分别是:
Transitional(过渡的):要求不是很严厉的DTD,允许你继续在页面中使用HTML4.01的标签;
Strict(严厉的):这是制造页面时理想的DTD方式,但是这个文档类型定义不允许使用任何的表现层上的标签和属性;
Frameset(框架的):这个专门针对页面设计中包含有框架的DTD。
由于框架型的设计可能对网页在搜索引擎中收录的影响,很多网页中都不使用框架设计;而Strict的DTD对于大多数人来说还只是一种理想化的方式;Transitional型的DTD则是目前最适用也是使用最广泛的文档类型定义。
如今随便打开一个符合Web标准的网页,都可以在页面的最开始处看到这样一句声明:
<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN” “http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd”>
这是一个关于XHTML网页文档的DOCTYPE声明。当然并不是说DOCTYPE声明只能针对XHTML网页文档,对于使用HTML4.01的网页文档来说,同样可以使用DOCTYPE声明:
过渡的DTD:
<!DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.01 Transitional//EN” “http://www.w3.org/TR/html4/loose.dtd”>
严厉的DTD:
<!DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.01//EN” “http://www.w3.org/TR/html4/strict.dtd”>
独一需求留意的是,DOCTYPE声明的位置必须是位于页面的最开始处,在DOCTYPE声明代码之前不能出现任何的代码或是标签,否则页面中的标签或是CSS款式可能会失效。