最近发现不少同学提出有关HTML+CSS的排版问题,以及IE与FF环境下的兼容问题。什么状况的都有,总结起来就是一个——显示很奇怪,很难调整。为什么呢?
我浏览的绝大多数网站,源码的顶部都会有DOCTYPE声明,但是很多人没有注意它,甚至在创作时候直接将它删掉,其实这往往就是噩梦的开始。在遵循标准的任何WEB文档中,DOCTYPE都是一项必需的元素。它会影响代码验证,并决定了浏览器最终如何显示你的WEB文档。为了避免DOCTYPE的问题重复出现,我根据手头的资料整理了这篇文档,以备自己及有兴趣的同学参考。
在默认情况下,FF和IE的解释标准是不一样的,也就是说,如果一个网页没有声明DOCTYPE,它就会以默认的DOCTYPE解释下面的HTML。在同一种标准下,不同浏览器的解释模型都有所差异,如果声明标准不同,不用我说,您自己想就可以了。学习网页标准,浏览器兼容,从哪里开始您自己决定,但是,请认识DOCTYPE:
一、什么是DOCTYPE
DOCTYPE是Document Type(文档类型)的简写,在页面中,用来指定页面所使用的XHTML(或者HTML)的版本。要想制作符合标准的页面,一个必不可少的关键组成部分就是DOCTYPE声明。只有确定了一个正确的DOCTYPE,XHTML里的标识和CSS才能正常生效。
二、DOCTYPE的规则
DOCTYPE声明的写法遵循一定的规则,它指出阅读程序应该用什么规则集来解释文档中的标记。在WEB文档的情况下,“阅读程序”通常是浏览器或者校验器这样的一个程序,“规则”则是W3C所发布的一个文档类型定义(DTD)中包含的规则。
每个DTD都包括标记、attributes、properties等内容,它们用于标记WEB文档的内容;此外还包括一些规则,它们规定了哪些标记能出现在其他哪些标记中。每个WEB建议标准(比如html 4 frameset和xhtml 1.0 transitional)都有自己的DTD。
以下是从手册上摘抄的规则:
基本语法:
HTML 顶级元素 可用性 "注册//组织//类型 标签//定义 语言" "URL"
可能值:
顶级元素:指定DTD中声明的顶级元素类型。这与声明的SGML文档类型相对应。HTML默认。HTML。
可用性:指定正式公开标识符(FPI)是可公开访问的对象还是系统资源。PUBLIC默认。可公开访问的对象。SYSTEM系统资源,如本地文件或 URL。
注册:指定组织是否由国际标准化组织(ISO)注册。
+ 默认。组织名称已注册。
- 组织名称未注册。Internet工程任务组(IETF)和万维网协会(W3C)并非注册的ISO组织。
组织:指定表明负责由!DOCTYPE声明引用的DTD的创建和维护的团体或组织的名称,即OwnderID。IETF。W3C。
类型:指定公开文本类,即所引用的对象类型。DTD默认。DTD。
标签:指定公开文本描述,即对所引用的公开文本的唯一描述性名称。后面可附带版本号。HTML默认。HTML。
定义:指定文档类型定义。分3种情况定义——
1)Frameset框架集文档。
2)Strict排除所有W3C专家希望逐步淘汰的代表性属性和元素,因为样式表已经很完善了。
3)Transitional包含除frameSet元素的全部内容。
语言:指定公开文本语言,即用于创建所引用对象的自然语言编码系统。该语言定义已编写为ISO 639语言代码(大写两个字母)。EN默认。英语。
URL:指定所引用对象的位置。
为了获得正确的DOCTYPE声明,关键就是让DTD与文档所遵循的标准对应。例如,假定文档遵循的是xhtml 1.0 strict标准,文档的DOCTYPE声明就应该引用相应的DTD。另一方面,如果doctype声明指定的是XHTML DTD,但文档包含的是旧式风格的HTML标记,就是不恰当的;类似地,如果DOCTYPE声明指定的是HTML DTD,但文档包含的是xhtml 1.0 strict标记,同样是不恰当的。
三、选择什么样的DOCTYPE
如上例所示,XHTML 1.0中有3种DTD(文档类型定义)声明可以选择:过渡的(Transitional)、严格的(Strict)和框架的(Frameset)。这里分别介绍如下。
1)过渡的
一种要求不很严格的DTD(ZBLOG的主题模板大多采用这种类型定义),允许在页面中使用HTML4.01的标识(符合XHTML语法标准)。过渡的DTD的写法如下:
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2)严格的
一种要求严格的DTD,不允许使用任何表现层的标识和属性,例如
等。严格的DTD的写法如下:
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3)框架的
一种专门针对框架页面的DTD,当页面中含有框架元素时,就要采用它。框架的DTD的写法如下:
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
使用严格的DTD来制作页面,当然是最理想的方式。但是,对于没有深入了解Web标准的网页设计者,比较合适的是使用过渡的DTD。因为这种DTD还允许使用表现层的标识、元素和属性,适合大多数网页制作人员。
四、需要注意的问题
没什么特别的,就是一定要将DOCTYPE声明放在XHTML文档的顶部,上面哪怕多个HTML注释标记都不行。最好示例代码也加上DOCTYPE,否则效果会有差异。
Copyright@ 2011-2016 版权所有:大连千亿科技有限公司 辽ICP备11013762-3号 google网站地图 百度网站地图 网站地图
公司地址:大连市沙河口区中山路692号辰熙星海国际2317 客服电话:0411-39943997 QQ:2088827823 37482752
法律声明:未经许可,任何模仿本站模板、转载本站内容等行为者,本站保留追究其法律责任的权利! 隐私权政策声明