xhtml和html之间的区别
最近两天在读李烨的《别具光芒:DIV+CSS网页布局与美化》,收益颇深,回想以前从来没有认真读过html标准,真是不屑于这些标准,导致了对页面的控制能力不强,现在借助这本书重读html标准,有很多收货,比如最平常的图片引用
,以前以为很多标签是没有用的,src上图片地址就草草结束了,直到读了《别具光芒:DIV+CSS网页布局与美化》
, 才知道alt的作用:alt属性制定了当图片不能显示时就显示供替换文本,这样做对正常的用户可有可无,但对纯文本浏览器和使用屏幕阅读机的用户来说是至 关重要的,而且在图片丢失的情况下还可以用过alt值来替代图片。只有添加了alt属性,代码才会被w3c正确性校验通过。
转回正题: xhtml和html之间的区别
xhtml和html之间的区别
1、选择DTD定义文档的类型
doctype是document type(文档类型)的简写,用来说明文件用的xhtml或者是html是什么版本。在xhtml中必须生命文档的类型,以便于浏览器知道正浏览的文档是什么类型的,而且声明部分要加载文档head之前。
需要注意的是:COCTYPE声明不是xhtml文档的一部分,也不是文档的一个元素,所以没必要加上结束标签。
要建立符合标准的网页,DOCTYPE生命是必不可少的关键组成部分;除非为xhtml确定了一个正确的DOCTYPE,否则表示和css都不会生效。
xhtml1.0 提供了以下3种DTD声明可供选择:
- 过度的(Transitional):要求非常宽松的DTD,他允许继续使用HTML4.01的标识(但是要符合xhml的写法)
- 阉割的(Strict):要求严格的DTD,不能使用任何表现层的表示和属性。
- 框架的(Frameset):专门针对框架页面设计使用的DTD,如果页面中包含有框架,需要采用这种DTD。
2、设定一个名字空间(Namespace)
一个名字空间是收集元素类型和属性名字的一个详细的DTD,名字空间生命允许通过一个在线地址指来识别名字空间。
3、定义了语言编码
为了被浏览器正确解释和通过标识校验,所有的xhtml文档都必须生命他们所使用的编码语言。
4、xhtml元素一定要呗正确的嵌套使用
在html里一些元素可以不正确嵌套也能正常显示,而在xhtml必须要正确嵌套之后才能正常使用。
5、xhtml文件一定要有正确的组织结构
所有的xhtml应该正确的嵌套在以开始,以结束的元素里面,其他的元素可以有子元素,并且子元素也要呗正确的嵌套在他们的父元素内。
6、标签名字一定要用小写字母
因为xhtml文档是xml的一中,而xml对大小写是敏感的,像
和
是两个不同的标记
7、所有的xhtml元素一定要关闭
不懂有没有关闭的空元素存在于代码中。
8、属性名字必须小写
属性和标签的要求一样,要小写。
9、属性值必须带上英文双引号
属性的值需要用英文双引号括起来
10、属性的简写被禁止
在html中某些属性可以简写,但是在xhml中不能简写。
11、用id属性代替name属性
html4.01 中为a\applet\frame\iframe\img和map定义了一个name属性,在xhtml里除了表单(form)外,name属性不能使用,应该用id来替换。
12、lang属性
lang属性可以应用于几乎所有的xhml元素,他制定了元素中内容的语言属性,如果在一个元素中应用lang属性,必须加上xml:lang属性。


如何转换现有的结构为xhtml
1、添加一个DOCTYPE订阅。
2、标签和属性名称都要小写。
3、所有属性值加上英文引号。
4、关闭空标签。空标签如< -hr->< -br->都应转换为类似< -hr/->< -br/->
5、校验网站。