网页W3C验证失败的10个常见原因

2016-02-19 17:53 7 1 收藏

下面是个网页W3C验证失败的10个常见原因教程,撑握了其技术要点,学起来就简单多了。赶紧跟着图老师小编一起来看看吧!

【 tulaoshi.com - Web开发 】

  W3C validation有时难以操作,但用它你可以查看由版面设计引起的差错。验证程序抛出大量差错和警告,说明你的XHTML尚未完善,可能无法在不同浏览器上保持一致功能。下面十个细微的失效问题难住了大批程序员,我们告诉你如何解决。在本文开始前介绍一些使用W3C验证程序时需要注意的问题。

  不要担心验证程序的警告如果验证程序说发现12处错误以及83处警告,不要理它,继续进行下一步。

  一次更正一个错误按顺序进展工作,从上到下,一次修正一个错误。HTML用浏览器从上到下浏览,这些错误也是按同样顺序显示。

  每次修正代码后要刷新代码,使它们重新生效一个小错误常常会引发之后整页的连串错误。因此如果操作不当,修正错误也可能引发更多错误。每次修正后使代码重新生效,这样就可以确保完全解决问题。

  知道了上面这些基本的异常情况,下面我们就来看看版面设计无效的几个原因。

  div 标签未关闭

  这是版面设计失效的最常见原因之一。当我们了解到这是多少精致的版块设计失效的罪魁祸首时,总会大吃一惊。开启的div标签是最普遍的版块设计失误之一,也是最难诊断的失误之一。验证程序有时会指向错误的开启div标签,诊断时就像大海捞针一样麻烦。

  麻烦的embed标签

  九十年代早期,Microsoft和Netscape的浏览器开始能够辨认非标准的独有字体。遗憾的是这意味着W3C验证程序还不能识别某些关键HTML 标签,如embed,即使这些标签已经被广泛使用。如果确实希望得到严格的DOCTYPE(文档类型)验证,就只能放弃嵌套。

  如果同时想要生效的版面设计和嵌入式媒体,可以试试Flash Satay方法。

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/webkaifa/)

  不当的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="" alt=""

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/webkaifa/)

 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.

  搜索引擎也靠alt标签来识别网页上的图像,所以无论怎样加上alt标签总是好的。

  未知实体数据

  实体数据是又一个影响验证的易犯错误。我们可以考虑用适当的编码字符来代替&等符号。entire list中列出在XHTML版块设计中可用的适当的编码字符实体数据。

  不良嵌套

  嵌套就是元素里又包括元素,如下所示:

divstrongSweet!/strong/div

 我们容易混淆嵌套元素的顺序。例如在div标签前启动strong标签,但又先关闭div标签。这可能不会改变版块布局,但却会使你的版块设计失效。

  缺少title标签

  尽管这看上去是一个很明显的错误,很多程序员(包括我自己)还是经常会在head版块中遗漏title标签。当你看到missing a required sub-element of HEAD(缺少HEAD的必要子元素)时,才会发现自己忘记添加title标签了。

来源:http://www.tulaoshi.com/n/20160219/1616281.html

延伸阅读
标签: Web开发
W3C 近日发布两项标准,分别是 XHTML Basic1.1 及 移动 Web 最佳实践 1.0 。这两项标准均针对移动 Web,其中,XHTML Basic 1.1 是 W3C 建议的移动 Web 置标语言。 XHTML Basic 1.1 移动置表语言有众多分支,XHTML Basic 1.1 的发布,为移动置标语言提供了一个标准, XHTML Basic 1.1 包含以下新功能: 新增 XHTML 表单 新增...
标签: Web开发
许多开发者都期待着 XML 模式能够很快取代 DTD 用于指定 XML 文档类型。尽管 David Mertz 相信 XML 模式在开发者宝库中是一种无价工具,但他对该模式将替代 DTD 持怀疑态度。XML 问题专栏的这一部分逐步尝试对模式和 DTD 进行比较,并阐明在 XML 模式世界中发生的事件。 虽然 W3C XML Schema在许多场合中胜过 DTD,但仍然还有一些 DTD...
一、在<div class=tzhI am TZH! 标点符号问题。这其实也是大家最容易忽视的问题,其实就是小小的两个引号,就造成了这个错误。虽然很多浏览器在不加引号的情况下仍然能正确识别渲染。但是这样想要通过严格的W3C XHTML国际标准是不可能的,请大家记住等号后面一定要接引号。正确写法:<div class="tzh"I am TZH!  ...
标签: Web开发
盒子模型是CSS中一个重要的概念,理解了盒子模型才能更好的排版。其实盒子模型有两种,分别是 IE 盒子模型和标准 W3C 盒子模型。他们对盒子模型的解释各不相同,先来看看我们熟悉的标准盒子模型: 从上图可以看到标准 W3C 盒子模型的范围包括 margin、border、padding、content,并且 content 部分不包含其他部分。 IE 盒子模型 从...
标签: Web开发
  国内网友,利用业余时间整理出了一份比较完整的CSS 3.0 参考手册,非常不容易。手册是根据W3C的CSS3草案翻译,并且结合实际的示范结合而成。每一页都倾注了每一个同学的心血。 预览页面: 原始发布处下载地址: http:/ /webteam.tencent.com/css3/

经验教程

374

收藏

59
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部