程序员人生 网站导航

W3C XHTML 1.0 / CSS 国际标准通关秘诀

栏目:htmlcss时间:2013-10-23 20:04:30

 昨天本站(http://www.tangzhehao.com.cn)从XHTML1.0有121个错误和CSS近10个错误,本人用了近两个小时,将所有错误搞定。积累技巧如下,与大家分享讨论。为了让大家印象深刻,我们采用边做题,边总结的方法。

W3C XHTML 1.0 国际标准:

  第一题:在 <div class=tzh>I am TZH!</div> 这段语句中有什么错误?
1. 标点符号问题。这其实也是大家最容易忽视的问题,其实就是小小的两个引号,就造成了这个错误。虽然很多浏览器在不加引号的情况下仍然能正确识别渲染。但是这样想要通过严格的W3C XHTML国际标准是不可能的,请大家记住等号后面一定要接引号。正确写法:<div class="tzh">I am TZH!</div>

 第二题:在 <SPAN class="tzh">TZH is me!</SPAN> 这段语句中有什么错误?
2. 大小写注意。这和第一个问题一样,都是特别容易忽视的细节问题。在W3C标准中是绝对不允许大写的,其中我仍记得我在检测一段javascript代码的时候,由于为了让自己一目了然写出的onLoad也被判断成了错误,原因就是L不能大写。正确写法:<span class="tzh">TZH is me!</span>

 第三题:在 <p>I am TZH!</p><br><p>TZH is me!</p> 这段语句中有什么错误?
3. <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> 这段语句中有什么错误?
4. 注意标签结束后面接的标点符号,很多标签结束后都不能接特殊标点符号,比如这里的"~"波浪号,但你要问,那叫我怎么用呢?那就使用ISO Latin-1字符集(ISO Latin-1 Character Set),在这里,查找到“~”波浪号相对应的字符集十进制编码是&#126;,然后就用这个十进制编码代替~波浪号,记住最后的分号不能丢。在ISO Latin-1字符集中以已命名实体(Named entity)最优先,十进制编码(Decimal code)其次,也就是说,一个符号在同时有十进制编码和已命名实体的时候,优先选用已命名实体而不使用十进制编码。
P.S.:ISO Latin-1字符集地址:http://www.tangzhehao.com.cn/css/z_iso.html

 第五题:在 <form id="54tzh"></form> 这段语句中有什么错误?
5. 注意id和class特殊情况。W3C XHTML1.0 标准中规定,在id或class中,第一个字符是不能是数字的,必须是字母。正确写法:<form id="tzh45"></form>

 第六题:在 <img src="logo.gif"> 这段语句中有什么错误?
6. <img>标签注意。W3C XHTML1.0 标准中规定,在<img>标签中,必须包括alt元素。正确写法:<img alt="Logo" src="logo.gif">

 第七题:在<script language="JavaScript"> 这段语句中有什么错误?
7. <script>标签注意。W3C XHTML1.0 标准中规定,在<img>标签中,必须包括type元素。正确写法:<script language="JavaScript" type=text/javascript>

 第八题:在<div><h1>I am TZH!</div></h1> 这段语句中有什么错误?
8. 注意标签开始结束顺序对应。正确写法:<div><h1>I am TZH!</h1></div>

9. 注意特殊套装。比如:<dl><dd><ul><li>等一些特殊标签,套装顺序中缺一不可。必须按照顺序将<dl><dd><ul><li>四个标签写完全。类似的还有许多。

10. 注意未打开标签。所谓未打开来自于W3C检测,这类错误显示的错误是 is not open,翻译过来也就是未打开的意思。如果按照中文的意思来理解就是有首无尾或者有尾无首。通常这种错误出现的原因都是因为有一段代码在修改的时候被删除,而没有顾及到相对较远的结束或者开始标签。


W3C CSS国际标准:
1. 少用偏门。类似break-word断行,z-index手动分层,还有像垂直对齐等等这些偏门CSS最好少用,因为不一定所有浏览器都支持,而且极难通过W3C检测。
2. center不是float的值。很多新手都会把center误认为是float的值,而偏偏不是如此。center只是text-align的值。
3. 对齐不能包括两个值。很多新手会在float或者text-align中填写两个值,比如:float:left top。这是不允许的,浏览器也无法识别。
4. 滚动条颜色最好不要自定义。很多浏览器不能正常识别自定义颜色的滚动条,况且很多自定义颜色都不能通过W3C。
5. 单独滚动条设置。现在经常使用overflow-x(横向滚动条)或者overflow-y(纵向滚动条),在设置这个的时候经常会发现并不是所有的客户端上都有效果,大家在设置的时候最好在body和html同时进行设置。然而这个CSS也不是CSS2.1支持的(CSS2.1支持overflow,同时定义横纵滚动条),直到CSS3才支持这种定义方式。尽量少用。
6. background和color颜色相同会受到警告。

在最后,如果你的站通过了W3C的检测之后,将获得检测通过W3C认证Logo,下图(左图为W3C XHTML 1.0通过,右图为W3C CSS通过)

  暂时就是以上几点了,大家如果觉得还有什么可以互相交流,也可以联系我http://www.tangzhehao.com.cn

------分隔线----------------------------
------分隔线----------------------------

最新技术推荐