XHTML编码基本规范2.1所有的标记都必须要有一个相应的结束标记XHTML要求有严谨的结构,所有标签必须关闭。
如果是单独不成对的标签,在标签最后加一个"/"来关闭它。
例如:<img height="80" alt="网页设计师" src="/uploadfile/200806/17/8C162625950.gif"width="200" />2.2所有标签的元素和属性的名字都必须使用小写与HTML不一样,XHTML对大小写是敏感的,<title>和<TITLE>是不同的标签。
XHTML要求所有的标签和属性的名字都必须使用小写。
例如:<BODY>必须写成<body> 。
大小写夹杂也是不被认可的。
2.3所有的XHTML标记都必须合理嵌套同样因为XHTML要求有严谨的结构,因此所有的嵌套都必须按顺序,以前我们这样写的代码:<p><b></p>/b>必须修改为:<p><b></b>/p>就是说,一层一层的嵌套必须是严格对称。
2.4所有的属性必须用引号""括起来在HTML中,你可以不需要给属性值加引号,但是在XHTML中,它们必须被加引号。
例如:<height=80>必须修改为:<height="80">特殊情况,你需要在属性值里使用双引号,你可以用",单引号可以使用',例如:<alt="say'hello'">2.5把所有<和&特殊符号用编码表示任何小于号(<),不是标签的一部分,都必须被编码为< ;任何大于号(>),不是标签的一部分,都必须被编码为>任何与号(&),不是实体的一部分的,都必须被编码为&2.6给所有属性赋一个值XHTML规定所有属性都必须有一个值,没有值的就重复本身。
例如:<td nowrap> <input type="checkbox" name="shirt" value="medium" checked>必须修改为:<td nowrap="nowrap"> <input type="checkbox" name="shirt" value="medium"checked="checked">2.7不要在注释内容中使―–‖―–‖只能发生在XHTML注释的开头和结束,也就是说,在内容中它们不再有效。
例如下面的代码是无效的:<!–这里是注释———–这里是注释–>用等号或者空格替换内部的虚线。
<!–这里是注释============这里是注释–>以上这些规范有的看上去比较奇怪,但这一切都是为了使我们的代码有一个统一、唯一的标准,便于以后的数据再利用。
2.8引用样式和脚本语言时TYPE属性不能省略<script language="javascript" type="text/javascript">注意:type="text/javascript"不能省略。
2.9在页面中写JAVASCRIPT方法时注意加上注释符号。
这样就避免>,<,&&等一些特殊符号的报错事例:<SCRIPT>和<STYLE>标记的内容必须被包围在CDATA段中。
例如:<SCRIPT TYPE="TEXT/JAVASCRIPT"><![CDATA[FUNCTION FUNC(A, B){IF (A < B)RETURN TRUE;}]]></SCRIPT>注意到上面的S CRIPT中有小于号(<)出现,如果不将其包围在CDATA段中,那么小于号(<)以及后面的内容会被误认为是另一个XHTML标记的开始,引起一些不必要的错误。
需要注意的是IE认为在<SCRIPT>标记中的CDATA段是不合法的,并会引发脚本错误,这个问题可以使用J AVA S CRIPT注释来避免:<SCRIPT TYPE="TEXT/JAVASCRIPT">/*<![CDATA[*/FUNCTION FUNC(A, B){IF (A < B)RETURN TRUE;}/*]]>*/</SCRIPT>或者<SCRIPT TYPE="TEXT/JAVASCRIPT">//<![CDATA[FUNCTION FUNC(A, B){IF (A < B)RETURN TRUE;}//]]></SCRIPT>当然,最好的方法是把脚本和CSS放置于单独的文件中并在XHTML页面中加上引用。
2.10将所有的样式放在STYLE中例:<td width="4"> </td> 这样写不符合标准。
我们要这样写:<td style=‖width:4px;‖> </td>2.11样式属性最后一个后面一定要加上分号2.12使用ID属性,而不是NAME属性。
在HTML中,name属性可以用来标识identify <a>, <applet>, <form>, <frame>, <iframe>, <img>和<map>标记。
XHTML 1.0 Strict 和XHTML 1.1 standards已经删除了对name属性的支持。
我们应该使用id唯一标识一个页面上的元素。
ID不能重复。
2.13属性值中空格的处理。
属性值中开头和结尾的所有空格将被忽略。
属性值中词与词之间的多个空格或换行符将被认为成单个空格。
例如如下两个属性的值相同:<input value="HTML is out" /><input value=" HTML is out " />2.14使用恰当的文档类型声明和命名空间。
2.15使用META元素声明你的内容类型。
2.16使用IMG时要添加ALT属性,可设为空2.17使用IMG时ALIGN=ABSMIDDLE属性在W3C验证下通不过大家都知道,要想让图片和文字垂直居中对齐的话,可以在IMG标签下添加align=absmiddle属性即可实现,但align=absmiddle属性在W3C验证下通不过[验证地址请查看W3C网页标准验证服务地址],那么是否可以用CSS来代替IMG的align=absmiddle属性来实现垂直居中呢,答案是肯定的。
可以在CSS中加入vertical-align:middle;就能实现了事例:<div><img style="vertical-align:middle;"src="/uploadfile/png/IconBuffet/Redmond/close_32.png" />用CSS实现图片和文字垂直居中对齐</div><br /><br /><div><img src="/uploadfile/png/IconBuffet/Redmond/close_32.png" />这个是没加样式的效果</div><br /><br /><div><img align=absmiddle src="/uploadfile/png/IconBuffet/Redmond/close_32.png" />这个是用align=absmiddle实现图片和文字垂直居中对齐</div>2.18不建议使用过时属性和标签为了更好的处理网站的兼容性问题,我建议不要使用过时标签和属性2.19将VS2005的验证标准调整为XHTML1.0或更高版本备注:XHTML 1.0 Transitional WEB标准产生的问题曾经流行一时的HTML标记语言已经被官方认为过时了,将要接任它的是XHTML(/MarkUp/)。
如果你的网站按照较严格的XHTML规则书写,那么这个网站将在不同的浏览器中保持一致的样式。
并且你可以认为在未来浏览器的版本升级变化中仍然保证网站外观的一致性。
同样你也会得到跨浏览器,跨设备以及跨平台的一致性支持。
XHTML有如下两个主要目标:·将文档的结构(使用XHTML标记语言)和表现(使用CSS)分开·将HTML作为一种XML书写对于第一个目标,W3C删除了一些HTML的标记以及属性,例如<font>和bgcolor,因为这些标记或属性并不是文档结构中的一部分,而只是用来描述文档应该如何被显示,因此应该定义在CSS文件中而不是HTML中。
同样,某些特定的标记内容并不一定要显示成特定的样子。
比如,<h1>标记里内容显示的字号完全可能小于<p>里的内容,这些取决于CSS中的定义。
当然,<h1>一般用于显示一篇文档的标题信息,它的重要程度一般也应该高于<p>中的内容,所以通常的浏览器都会以一个较大的字号来显示。
对于第二个目标,XHTML将严格遵守XML的严格语法。
可以说XHTML是HTML依照XML语法重构的结果。
换句话说,当你编写XHTML文档的时候,其实是在编写一份特化了的XML文档。
XML文档有着比HTML严格多了的语法,这些将在本文稍后部分讨论。
XHTML有三个版本:· XHTML 1.0 Transitional· XHTML 1.0 Strict· XHTML 1.0 FramesetXHTML 1.0 Transitional包含HTML4.01的所有标记以及属性,是一种不是那么严格的XHTML,目的是使现有的HTML开发者更容易的接受并使用XHTML。