上次看到一篇新闻,说经一项研究表明:仅有4.13%的网页符合W3C标准,看来真是少之又少啊。像一般要求不高的网页是不会在意w3c认证的,能正常显示就OK了,不过对于一些设计者来说,通过w3c认证不仅使网页能在各种浏览器中有良好的表现和继承性,而且也是自身技术价值的一个体现!
对于使用wordpress的博友们来说还是很幸运的,因为wp的皮肤一般都会通过w3c的认证,这是肯定的。之所以大家在真正使用的时候会出现各种各样的问题而无法通过验证,那是因为大家在个性化的时候太过随意,如在加一些侧边栏或一些其它网站提供的代码的时候,还有就是自己在写文章的时候不注意也会造成错误。最常见的就是大家在添加超链接的时候喜欢用target=”_blank”,这其实是不符合标准的,不过wp系统提供的也是这种不符合标准的方式。像很多专业的网页编辑软件,像Adobe Dreamweaver,也不可避免地产生一些不符合标准的代码,有时甚至是很多。
大家可能会觉得通过w3c标准会很难,其实不然,我在换用这个主题后其实也一直放弃了,但当自己慢慢掌握了一些知识后,发现还是挺容易的,有时候一个小错误往往会给你带了N个错误,有时候也许只要加个引号,你的N个错误也就没了!
说了这么多,正文还没来的,今天看到shawn总结了xhtml 无法通过W3c认证的7个原因 ,看你是否也出现了类似的问题呢?
1. 结构。最常见的错误比如: <p> 里面包含 <div>;li 标签不能独立使用等;
错误代码:
- end tag for element "P" which is not open.
- document type does not allow element "LI" here; missing one of "UL", "OL", "DIR", "MENU" start-tag.
2. 字符。在标准网页代码是像 & < > 等符号是不能出现,必须用相应的相应的编码来代替,具体大家可以google下!
错误代码:这个错误可能会比较多,下面只是一个例子。
- character "&" is the first character of a delimiter but occurred as data.
3. 混合。脚本混合在 html 里面容易出错。但是非要混合也没关系,用 /* <

















写的真仔细,我太懒了。。。
@Shawn 呵呵,你都写出来了,我不好照搬吧,就照自己的理解加了些东西!正常好久没写东西了!
很有学习的必要性了
三个小朋友比赛啦粑粑,第一个小朋友拉了一个S形,第二个小朋友拉了一个O形,第三个小朋友非常有创意,拉了一个等边三角形,老师惊喜地问他:你是怎样做到的呢?!小朋友吮着手指回答:老师,我摆的。~~`
我的错误多多,不管了,呵呵
我也想学这个东西!感觉挺麻烦的。
记得看过一篇文章,叫做不要太迷信于标准,感觉未必必须要通过w3c。
@RDEN 这个东西其实也算是个积累,接触的多了也就不麻烦了!有时候决心去做一些事会有蛮大的收获的,呵呵!
@Booole 现在w3c感觉还很不普及,没有多少很在意的。甚至有些网页通过了认证还在一些浏览器中表现不好,没得办法啊!不过通过了至少没有坏处,呵呵!
@老时 啦粑粑 是什么东西哈?现在貌似比较流行冷笑话!哈哈!
我那错误多了,不过都懒得改~
我在侧边栏加了个php代码的插件结果也未能通过XHTML的验证 说是在 [ul] 和 [li] 之间有个无法辨认的符号,显示中 [ul] 和 [li] 之间也是多了个空格。一直没弄清楚是什么原因 是不是要加个/* <![CDATA[ */什么的啊
@Zoll 呵呵,这个我还真没的遇到过,不过经 Shawn 高人指点,你博客的头部声明跟我们的不一样,就是网页里的第一行。从而允许你博客中N多的target=”_blank”通过了验证,但好像你的那个声明又限制了一些使用的方法,如LI中间不能有裸露的数据!你那里出现了,所以就报错了!我都搞的有点晕了!你可以照这个思路去修改下,看是不是这个问题!
那我还是随大流改改声明试试看 万分感谢!
改了声明,原来的问题还是没有解决。是不是因为在这个独立的PHP文件中有个调用独立数据库的步骤导致的。。
现在我还得修改那N多个target的错误了,囧。。其实我用的是WP的默认主题,自己改成现在这个样子的。。
@Zoll 这我就不是很清楚了,这个错误比较奇怪啊!你把那个版块去了就没有了是吧?不太清楚你那个是怎么加上去的!
恩 是的 我用的支持widget PHP的插件 然后添加了个widget [ul][?php include("pigroll/pigroll.php"); ?][/ul] 抓取的这个php文件,文件中echo “[li]…[/li]“。当然 所有[]都换成。
@Zoll 你嵌套了一下页面啊?为什么不直接写在sidebar里啊?那个文件是直接输出还是动态生成的!?
是动态生成的吧。。不是很懂 调用了数据库还调用了别的文件 右边的图标通过数据库读取友链种子的最新更新有不同的显示。估计直接写还不行。
问题解决了 是被include的这个文件的编码问题,重新保存编码为ANSI就解决了。。终于解脱了。。
@Zoll 编码问题?晕,看来还是不能放弃啊!!学无止境,一起加油!!
Line 65, Column 11: end tag for “ul” which is not finished
好奇怪啊,明明是已经闭合了,他为什么说没有呢?说最后那个 > 有问题
[...] 1. 我是先看了《xhtml 无法通过W3c认证的7个常见原因》这篇文章,写得很好,里面有基本会出现的问题,建议去看。 [...]