XHTML效验的常见错误

创建时间:十二月 27th, 2007修改时间:十二月 27th, 2007 Traffic(460)

设计可以通过W3C效验器效验的网站,虽然不会给我的网站带来更多的流量,也不会影响网页显示的效果,但它可以督促我们养成良好的代码书写习惯,也为使网页能兼容多种浏览器,引导开发者轻松的实现从HTML到XML的过渡。

下面本人就效验过程中比较常见的错误加以说明并改正。

首先请看这样一段代码:

这段代码是可以被正确显示的,但我们通过W3C提供的XHTML效验时还是发现了不少的问题。

一、标签未结束错误

提示文字的意思是:标签未结束,请正确的关闭标签。根据提示:第9行23列的“p”标签和第10行14列的“br”标签没有关闭。修改方案:

把“<div><p>段落没有结束标签实例</div>”改为:“<div><p>段落没有结束标签实例</p></div>”,把“<div>第一行文字<br>第二行文字</div>”改为:“<div>第一行文字<br />第二行文字</div>”。

二、标签大小写混合错误

提示文字的意思是:标签元素未定义,下面列出了三种可能。第一种是可能含有frame;第二中是可能含有spacer或marquee等不被W3C认可的标签;第三种是可能用了大写的标签。根据提示:第11行的4、7列的“Div”和“P”未定义。修改方案:

把“<Div><P>标签大写</P></Div>”中的标签改为小写:“<div><p>标签大写</p></div>”。

三、属性赋值的格式错误

提示文字的意思是:没有按照正确的格式为属性赋值,且给出了整改方案。根据提示:第12行14列和13行50列的属性赋值错误。修改方案:

把“<div><p class=a>属性值没有用双引号括起来</p></div>”改为:“<div><p class="a">属性值没有用双引号括起来</p></div>”;把“><option selected>默认值</option>”改为:“><option selected="selected">默认值</option>”。

四、内容中包含特殊字符错误

提示文字的意思是:“<”是标签界定符的一部分,不应该出现在内容中;“&G”因为在XHTML中规定特殊字符都要用“&”加特定意思的的字符最后是分号“;”构成,如“&”就要写成“&amp;”,如果不把“&”编码就会出现:不是实体,或没有定义的错误,由于缺少结束符分号“;”,所以还能引发标签未结束的一系列错误。修改方案:

把“<div>没有将特殊字符编码,5<10,A&G</div>”中的特殊字符“<”和“&”编码,改为:“<div>没有将特殊字符编码,5&lt;10,A&amp;G</div>”。

五、图片标签缺少“alt”属性和注释错误

15行58列指出:必要的“alt”属性没有定义。解决方案:把“<img src="http://www.w3cui.org/images/linklogo.gif" />”加上“alt”属性,如无任何意义,属性值可为空:“<img src="http://www.w3cui.org/images/linklogo.gif" alt="" />”;

16行23列指出:无效的注释声明。解决方案:把“<!-- 注 -- 释 -->”改为:“<!-- 注释 -->”或“<!-- 注 释 -->”等,只要不用两个破折号就可以,两个破折号只可以出现在注释的开头和结尾处。

六、其他错误

下面还有一些其他的错误,比如提示“标签未定义或未结束”等非常怪异的错误提示,其实都是上面错误造成的,如果有一处标签或对象未关闭,如特殊字符未编码化,也就没有“;”,所以导致后面是标签部分的字符也出错。

还有,我们在编写XHTML文档时要注意,XHTML已经放弃的标签,如spacer和marquee等,因为这些标签只在某些浏览器中有效,而不是被所有浏览器所支持,只是某些浏览器支持的独有标签,所以W3C不把它们看成是标准。如想实现marquee标签的滚动效果,建议可以用JavaScript编程实现。在CSS效验中也有很多属性是IE独有的,W3C同样不把他们看成是标准,在开发的时候要特别注意,要考虑各浏览器的兼容问题。

下面看看修改所有错误后的效验结果:

成功通过XHTML1.0的效验了!

其实,开发者需要记住的不是错误类型,而是要记住XHTML的代码规范,避免不必要的错误。如果出现本来没有任何错误的地方却提示错误,不要怕,一定是其他地方的错误造成的。耐下心来修改每一处错误,其他错误也就自然消失了,您也会成功通过效验的。

Posted by: 近水社区
相关文章:
相关模板:
暂无相关模板
上一篇:CSS基础 下一篇:CSS效验的常见错误

Comments(4)

好文章,开眼了。我做过的网站一效验我脑袋都大,200多个错误。这回好了,自己慢慢改,有不明白的还得问你,到时还请赐教啊!

十二月 27th, 2007Posted by: 唐朝5shimin#sina.com

您太客气了,互相交流嘛!

十二月 27th, 2007Posted by: 近水社区6webmaster#w3cui.org

放弃W3C效验的神化吧,我的网站就没通过,但运行的也很正常啊!

十二月 27th, 2007Posted by: virtus7gdaf#gdakj.com

“放弃W3C效验的神化吧,我的网站就没通过,但运行的也很正常啊!”

没有被神化,运行好不代表你的代码就好。我用html4和xhtml1混合写照样运行好,但那种代码有什么优势么?

中国某些设计师就是自以为是。不在乎国际的变化。

一月 25th, 2008Posted by: majer22365654398#qq.com
User Name:
(必添)
User Email:
(必添)
User URL:
Comment:
(必添)