W3C validation有时难以操做,但用它你能够查看由版面设计引发的差错。验证程序抛出大量差错和警告,说明你的XHTML还没有完善,可能没法在不一样浏览器上保持一致功能。下面十个细微的失效问题难住了大批程序员,咱们告诉你如何解决。在本文开始前介绍一些使用W3C验证程序时须要注意的问题。程序员
要担忧验证程序的警告——若是验证程序说发现12处错误以及83处警告,不要理它,继续进行下一步。浏览器
一次更正一个错误——按顺序进展工做,从上到下,一次修正一个错误。HTML用浏览器从上到下浏览,这些错误也是按一样顺序显示。布局
每次修正代码后要刷新代码,使它们从新生效——一个小错误经常会引起以后整页的连串错误。所以若是操做不当,“修正错误”也可能引起更多错误。每次修正后使代码从新生效,这样就能够确保彻底解决问题。字体
知道了上面这些基本的异常状况,下面咱们就来看看版面设计无效的几个缘由。网站
一、div 标签未关闭ui
这是版面设计失效的最多见缘由之一。当咱们了解到这是多少精致的版块设计失效的罪魁祸首时,总会大吃一惊。调查显示,开启的div标签是最广泛的版块设计失误之一,也是最难诊断的失误之一。验证程序有时会指向错误的开启div标签,诊断时就像大海捞针同样麻烦。搜索引擎
二、麻烦的embed标签编码
九十年代早期,Microsoft和Netscape的浏览器开始可以辨认非标准的独有字体。遗憾的是这意味着W3C验证程序还不能识别某些关键HTML 标签,如“embed”,即便这些标签已经被普遍使用。若是确实但愿获得严格的DOCTYPE(文档类型)验证,就只能放弃嵌套。设计
若是同时想要生效的版面设计和嵌入式媒体,能够试试Flash Satay方法。blog
三、不当的DOCTYPE声明
不声明DOCTYPE,或者在文件开始错误声明DOCTYPE,也是一个常见错误。根据通常经验,Strict DOCTYPE是你们追求的最高级验证。Strict validation代表你的网页可以在全部浏览器上都获得最佳展现。Strict 声明代码以下:
四、结尾斜线
若是你的网站不能验证,颇有多是在代码的某个地方漏写告终尾斜线。咱们很容易忽略结尾斜线之类的东西,特别是在image标签等元素中。例如:
在严格的DOCTYPE中这是无效的。要在img标签结尾处加上“/”以解决此问题。
五、Align标签
若是DOCTYPE被设为Transitional,你就会使用“align”标签,但若是要求更高一点但愿获得Strict验证,你会看到不少错误。 Align是另外一个不可用于版面设计的标签。能够尝试用“float”或者“text-align”来代替align转换元素。
六、JavaScript
若是已经声明Strict DOCTYPE,就须要在JavaScript中覆盖CDATA标签。验证程序的这一方面难倒了不少程序员,由于网站倾向于为广告和追踪脚本使用嵌入的 JavaScript。若是必须用到JavaScript,能够在其先后加上以下标签:
七、图像须要“alt”属性
你可能尚未注意到,图像也是高级验证的潜在绊脚石。除告终尾斜线,高级验证也要求用alt标签来描述图像,如alt= ”Scary vampire picture”。
搜索引擎也靠alt标签来识别网页上的图像,因此不管怎样加上alt标签老是好的。
八、未知实体数据
实体数据是又一个影响验证的易犯错误。咱们能够考虑用适当的编码字符来代替“&”等符号。entire list中列出在XHTML版块设计中可用的适当的编码字符实体数据。
九、不良嵌套
嵌套就是元素里又包括元素
Sweet!
咱们容易混淆嵌套元素的顺序。例如在div标签前启动strong标签,但又先关闭div标签。这可能不会改变版块布局,但却会使你的版块设计失效。
十、缺乏“title”标签
尽管这看上去是一个很明显的错误,不少程序员(包括我本身)仍是常常会在“head”版块中遗漏title标签。当你看到“missing a required sub-element of HEAD”(缺乏HEAD的必要子元素)时,才会发现本身忘记添加title标签了。