一、div 标签未关闭
这是版面设计失效的最常见原因之一。当我们了解到这是多少精致的版块设计失效的罪魁祸首时,总会大吃一惊。开启的div标签是最普遍的版块设计失误之一,也是最难诊断的失误之一。验证程序有时会指向错误的开启div标签,诊断时就像大海捞针一样麻烦。
二、麻烦的embed标签
九十年代早期,Microsoft和Netscape的浏览器开始能够辨认非标准的独有字体。遗憾的是这意味着W3C验证程序还不能识别某些关键HTML 标签,如embed,即使这些标签已经被广泛使用。如果确实希望得到严格的DOCTYPE(文档类型)验证,就只能放弃嵌套。
如果同时想要生效的版面设计和嵌入式媒体,可以试试Flash Satay方法。
三、不当的DOCTYPE声明
不声明DOCTYPE,或者在文件开始错误声明DOCTYPE,也是一个常见错误。根据一般经验,Strict DOCTYPE是大家追求的最高级验证。Strict validation表明你的网页能够在所有浏览器上都得到最佳展示。Strict 声明代码如下:
!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"
四、结尾斜线
如果你的网站不能验证,很有可能是在代码的某个地方漏写了结尾斜线。我们很容易忽略结尾斜线之类的东西,特别是在image标签等元素中。例如:
在严格的DOCTYPE中这是无效的。要在img标签结尾处加上/以解决此问题。
img src="http://www.Webjx.com/Logo.png" alt="Webjx.com"
五、Align标签
如果DOCTYPE被设为Transitional,你就会使用align标签,但如果要求更高一点希望得到Strict验证,你会看到很多错误。 Align是另一个不可用于版面设计的标签。可以尝试用float或者text-align来代替align转换元素。
六、JavaScript
如果已经声明Strict DOCTYPE,就需要在JavaScript中覆盖CDATA标签。验证程序的这一方面难倒了很多程序员,因为网站倾向于为广告和追踪脚本使用嵌入的 JavaScript。如果必须用到JavaScript,可以在其前后加上如下标签:
script type="text/javascript"
/* ![CDATA[ */
// JavaScript here
};
/* ]] */
/script
七、图像需要alt属性
你可能还没有注意到,图像也是高级验证的潜在绊脚石。除了结尾斜线,高级验证也要求用alt标签来描述图像,如alt= Scary vampire picture。
(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/webkaifa/) 搜索引擎也靠alt标签来识别网页上的图像,所以无论怎样加上alt标签总是好的。
八、未知实体数据
实体数据是又一个影响验证的易犯错误。我们可以考虑用适当的编码字符来代替&等符号。entire list中列出在XHTML版块设计中可用的适当的编码字符实体数据。
九、不良嵌套
嵌套就是元素里又包括元素,如下所示:
divstrongSweet!/strong/div
我们容易混淆嵌套元素的顺序。例如在div标签前启动strong标签,但又先关闭div标签。这可能不会改变版块布局,但却会使你的版块设计失效。
十、缺少title标签
尽管这看上去是一个很明显的错误,很多程序员(包括我自己)还是经常会在head版块中遗漏title标签。当你看到missing a required sub-element of HEAD(缺少HEAD的必要子元素)时,才会发现自己忘记添加title标签了。