网站进行W3C XHTML1.0验证的经验

(编辑:jimmy 日期: 2024/11/13 浏览:2)


本文章是一位jb51.net的网友在进行网站更新与调整时,进行W3C XHTML1.0验证的时候的一些经验。
总结出通过W3C XHTML1.0标准需要注意的九个问题:
一、在 <div class=tzh>I am TZH!</div> 这段语句中有什么错误?
  标点符号问题。这其实也是大家最容易忽视的问题,其实就是小小的两个引号,就造成了这个错误。虽然很多浏览器在不加引号的情况下仍然能正确识别渲染。但是这样想要通过严格的W3C XHTML国际标准是不可能的,请大家记住等号后面一定要接引号。正确写法:<div class="tzh">I am TZH!</div>
二、在 <SPAN class="tzh">TZH is me!</SPAN> 这段语句中有什么错误?
  大小写注意。这和第一个问题一样,都是特别容易忽视的细节问题。在W3C标准中是绝对不允许大写的,其中我仍记得我在检测一段javascript代码的时候,由于为了让自己一目了然写出的onLoad也被判断成了错误,原因就是L不能大写。正确写法:<span class="tzh">TZH is me!</span>
三、在 <p>I am TZH!</p><br><p>TZH is me!</p> 这段语句中有什么错误?
  <br />标签问题。对于强制换行标签<br />来说,很多新手都分不清它和<br>的区别,甚至在FCKeditor编辑器中有时都会时不时冒出个<br>来充当<br />。虽然同样很多浏览器都能自动纠错,将<br>作为<br />识别。但最好的编辑方法还是推荐大家使用Dreamweaver进行编辑,当你按下Ctrl Enter,就会自动写上一个<br />。正确写法: <p>I am TZH!</p><br /><p>TZH is me!</p>
四、 <h1>~tangzhehao~hey~</h1> 这段语句中有什么错误?
  注意标签结束后面接的标点符号,很多标签结束后都不能接特殊标点符号,比如这里的"~"波浪号,但你要问,那叫我怎么用呢?那就使用ISO Latin-1字符集(ISO Latin-1 Character Set),在这里,查找到“~”波浪号相对应的字符集十进制编码是~,然后就用这个十进制编码代替~波浪号,记住最后的分号不能丢。在ISO Latin-1字符集中以已命名实体(Named entity)最优先,十进制编码(Decimal code)其次,也就是说,一个符号在同时有十进制编码和已命名实体的时候,优先选用已命名实体而不使用十进制编码。
五、在 <form id="54tzh"></form> 这段语句中有什么错误?
  注意id和class特殊情况。W3C XHTML1.0 标准中规定,在id或class中,第一个字符是不能是数字的,必须是字母。正确写法:<form id="tzh45"></form>
六、在 <img src="logo.gif"> 这段语句中有什么错误?
  <img>标签注意。W3C XHTML1.0 标准中规定,在<img>标签中,必须包括alt元素。正确写法:<img alt="Logo" src="logo.gif">
七、在<script language="JavaScript"> 这段语句中有什么错误?
  <script>标签注意。W3C XHTML1.0 标准中规定,在<img>标签中,必须包括type元素。正确写法:<script language="JavaScript" type=text/javascript>
八、在<div><h1>I am TZH!</div></h1> 这段语句中有什么错误?
  注意标签开始结束顺序对应。正确写法:<div><h1>I am TZH!</h1></div>
九、除了上面的之外,还需要注意哪些问题?
  注意特殊套装。比如:<dl><dd><ul><li>等一些特殊标签,套装顺序中缺一不可。必须按照顺序将<dl><dd><ul><li>四个标签写完全。类似的还有许多。
  注意未打开标签。所谓未打开来自于W3C检测,这类错误显示的错误是 is not open,翻译过来也就是未打开的意思。如果按照中文的意思来理解就是有首无尾或者有尾无首。通常这种错误出现的原因都是因为有一段代码在修改的时候被删除,而没有顾及到相对较远的结束或者开始标签。
总结出关于W3C CSS标准的一些经验:
  一、少用偏门。类似break-word断行,z-index手动分层,还有像垂直对齐等等这些偏门CSS最好少用,因为不一定所有浏览器都支持,而且极难通过W3C检测。
  二、center不是float的值。很多新手都会把center误认为是float的值,而偏偏不是如此。center只是text-align的值。
  三、对齐不能包括两个值。很多新手会在float或者text-align中填写两个值,比如:float:left top。这是不允许的,浏览器也无法识别。
  四、滚动条颜色最好不要自定义。很多浏览器不能正常识别自定义颜色的滚动条,况且很多自定义颜色都不能通过W3C。
  五、单独滚动条设置。现在经常使用overflow-x(横向滚动条)或者overflow-y(纵向滚动条),在设置这个的时候经常会发现并不是所有的客户端上都有效果,大家在设置的时候最好在body和html同时进行设置。然而这个CSS也不是CSS2.1支持的(CSS2.1支持overflow,同时定义横纵滚动条),直到CSS3才支持这种定义方式。尽量少用。
  六、background和color颜色相同会受到警告。关于更多的知识,您可以参考jb51.net的相关文章。