奋战了20多分钟,终于将自己的blog通过W3C的css认证,据说通过W3C认证是SEO们除了优化自己个人简历之外又一件难得的乐此不疲的事。其实回过头来看看,让Z-blog默认主题通过W3C认证其实很简单的,下面将一些W3C认证中遇到的问题简要的做一个总结【因时间关系,本博客只认证了css部分,如果您想需要全面通过W3C认证的话,坑能还要费心另外找一些资料】,首先把这两个认证的地址告诉大家:
w3c认证包括XHTML认证和CSS认证,可以到以下两个网站在线测试你的网页是否符合W3C标准,如果不符合,还可以显示出详细的出错信息和修改建议。
http://validator.w3.org/
http://jigsaw.w3.org/css-validator/
通过初步判断,Z-blog默认主题未能通过W3C的css认证,主要问题出在以下两个文件:
1.css/print.css
这个css文件出毛病的地方主要有:
list-style-type:none;
list-style-position : outside;
margin:0 0 0 0;
padding:0 0 0 0;
word-break:break-all;
}
和
margin:0 0 0 0;
padding:0 0 0 0;
word-break:break-all;
}
以及
width:100%;
margin:5px 0 5px 0;
padding:5px 0 5px 0;
font-size:13px;
word-break:break-all;
text-align:left;
line-height:150%;
border-top: 1px solid black;
border-bottom: 1px solid black;
}
这三段中的word-break:break-all; 在未来的css3版本中才给予支持,目前暂时不能够通过认证,【css2.1支持的写法为white-space:normal;】
注:word-wrap是控制换行的。
使用break-word时,是将强制换行。中文没有任何问题,英文语句也没问题。但是对于长串的英文,就不起作用。
break-word是控制是否断词的。
normal是默认情况,英文单词不被拆开。
break-all,是断开单词。在单词到边界时,下个字母自动到下一行。主要解决了长串英文的问题。
keep-all,是指Chinese, Japanese, and Korean不断词。即只用此时,不用word-wrap,中文就不会换行了。(英文语句正常。)
ie下:
使用word-wrap:break-word;所有的都正常。
ff下:
如这2个都不用的话,中文不会出任何问题。英文语句也不会出问题。但是,长串英文会出问题。
为了解决长串英文,一般用word-wrap:break-word;word-break:break-all;。但是,此方式会导致普通的英文语句中的单词会被断开(ie下也是)。
目前主要的问题存在于[长串英文]和[英文单词]被断开。其实长串英文就是一个比较长的单词而已,显然不应该被断开了。
对于长串英文,就是恶意的东西,自然不用去管了。但是,也要想些办法,不让它把容器撑大。
用:overflow:auto; ie下,长串会自动折行。ff下,长串会被遮盖。
所以,综上,最好的方式是word-wrap:break-word;overflow:hidden;而不是word-wrap:break-word;word-break:break-all;,但是目前的问题是这几种方法都不能通过目前的W3C的css认证,因此在没有长串英文的情况下,使用css标准支持的【white-space:normal;width:???px;】是最佳的解决方案。
2. THEMES\default\STYLE\default.css
除了上面所述的三个问题外,这个css样式面临的还有一个问题就是颜色与北京相同的问题,主要在以下几个css样式表中:
第一部分的全局css样式声明:
color: #FF0000;
text-decoration: underline;
}
a:active {
color: #FF0000;
text-decoration: underline;
}
以及中间的
color: #FF0000;
text-decoration: none;
}
#BlogTitle a:active {
color: #FF0000;
text-decoration: none;
}
还有最后的
color:#FF0000;
background:#DC143C;
}
#divNavBar a:active {
color:#FF0000;
background:#DC143C;
}
中的color按如上设置或者设置成为其他与页面背景不同的颜色,在经过以上更改后,SEO博客祝贺你顺利通过了认证!