【问题标题】:What's the point of valid CSS/HTML?有效的 CSS/HTML 有什么意义?
【发布时间】:2010-11-23 04:50:41
【问题描述】:

如果我已经在大多数主流浏览器中测试了我的页面,我为什么需要维护经过验证的代码?如果 WebKit 浏览器和 Firefox 支持,我想使用 box-shadows 和圆角半径。我不在乎它们是否出现在 Internet Explorer 上。但是我通过不包含图像来降低我的 HTTP 请求。

有效代码有什么好处吗?在 SEO 或其他方面?

【问题讨论】:

  • 一种自鸣得意的自我满足感 :-)
  • =D,但也可以握住小便然后放手!
  • 有效英语有什么意义?
  • 我觉得好笑的是,我在网络上的前 1000 个网站中找不到少数几个通过验证的网站。这就是它的重要性。如果您使用 IDE,则最好将时间花在编码上。
  • @Zenph:您可能在前 1000 名中找不到没有任何拼写错误的网站。但是,“Stakc Overflow”和“Sctka Olrfvewo”是有区别的。

标签: html css validation xhtml


【解决方案1】:
  • Google prefers it so it is good for SEO.
  • 它使您的网页更有可能在未经测试的浏览器中运行。
  • 它允许您生成或使用您的页面作为 XML 文档。
  • 它让你看起来更专业(至少对某些开发人员而言)
  • 兼容的浏览器在 quirks 模式下渲染 XHTML 的速度比 HTML 快。
  • 它指出了一些您可能错过的模糊错误,这些错误会影响您可能尚未测试过的东西,例如页面的代码页或语言集。

【讨论】:

  • 我还要补充一点,有效代码更容易调试。如果您的代码通常是有效的,那么当您遇到问题时通过验证器运行它(或者更好的是,使用提供“实时”有效性检查的编辑器/IDE)是一种快速、廉价的方法来检测几类拼写错误而无需通过浏览器追捕他们。
  • (虽然这并不意味着你应该盲目地拒绝发布非验证代码;OP 的例子是一个很好的例子。记住,大多数规则的存在只是为了让你思考 在你破坏它们之前。)
  • +1 不过忘记了一点:它使网站更容易被其他“查看者”访问,例如盲人访客的屏幕阅读器。
  • 那个 SEO 测试太假了,还有很多其他事情会影响排名。
  • "兼容的浏览器在 quirks 模式下渲染 XHTML 的速度比 HTML 快。"这只是vacuously true,因为兼容的浏览器从不以怪癖模式呈现XHTML;即使您有一个类似于 XHTML 的文档类型,除非您实际上将其作为 XHTML 提供,否则浏览器看到的 HTML 恰好在人类读者看来就像 XHTML。而且,当您正确地提供它时,浏览器将始终在 XML 解析器之上使用标准模式。
【解决方案2】:

因为只有知道规则,你才会知道何时打破它。

使用特定于浏览器的扩展程序也不错,但这是您想要故意而不是盲目地做的事情。

验证指出您偏离标准的地方。也许你需要,也许你不需要,这个决定是你的。

【讨论】:

    【解决方案3】:

    拥有有效 HTML 的一个原因是可访问性。如果页面上的 HTML 有效,则适用于视障用户的屏幕阅读软件效果会更好。

    【讨论】:

      【解决方案4】:

      无效的 css/html 可能会变得难以维护。更改可能会产生难以修复的不良影响。

      【讨论】:

      • 我会选择这个作为最佳答案。
      【解决方案5】:

      您无法在尚未发布的浏览器中进行测试!

      随着时间的推移,浏览器往往会变得更加符合标准。如果您编写符合标准的网页,它们更有可能在所有现有浏览器的下一个版本中仍然有效。

      【讨论】:

        【解决方案6】:

        询问所有编写代码的人,这些代码在 IE 6 中测试时运行良好,然后在 IE 开始更好地支持标准时就崩溃了。

        【讨论】:

          【解决方案7】:

          这与询问编写语法上有效的 C 代码是否有优势没有什么不同:这样的程序不需要做正确的事情™,但在没有有效代码的情况下做正确的事情会更难。

          SO相关讨论:Do you validate your websites?

          【讨论】:

          • 语法上无效的C代码不能编译和使用,但是无效的HTML可以,不是吗?
          • 编译器正在检查 C 代码的有效性。不幸的是,在接受无效 HTML(而不是 XHTML)时,浏览器比 C 编译器更宽容,但类比成立。
          【解决方案8】:

          验证代码是一种可以防止很多人发现并有望修复 html/css 中可能导致不良结果的许多问题的方法。恕我直言,它更多的是“可能出错的常见问题”修复,而不是替代测试。如果您喜欢在您想要的浏览器中获得的外观,我不会太担心验证。

          (是的,如果您希望每个人都知道您使用验证来检查您的网站,您可以将小徽章放在您的网站上):D

          【讨论】:

            【解决方案9】:

            我想说有效的 (X)HTML 是必须的,因为它定义了如何访问您的内容。格式不正确的 HTML 不仅可以阻止人类“阅读”您的内容,还可以阻止机器(想想搜索引擎、蜘蛛等)“阅读”您的内容。想象一下,如果一家银行将您的帐户详细信息保存在格式错误的 XML 文件中,然后将该 XML 作为交易的一部分发送给另一家银行 - 由于尝试解释的方式不同,银行可能会误读金额总和。

            有效的 CSS 略有不同,因为它纯粹是风格和效果呈现,而不是内容。因此,保持它的有效性并不重要,只要您不介意不同的用户代理以不同的方式呈现您的内容。

            【讨论】:

              【解决方案10】:

              有时某些验证器将 css 或 html 属性标记为“无效”,但您不必担心这一点。使用箱形阴影和圆角完全没有问题。不识别它们的浏览器会简单地忽略它们,所以没有麻烦。我什至鼓励你使用它们——如果太多人等到它们得到广泛支持才使用它们,那么网络的势头就会变得太大。

              但是, 在您的文档中有一个有效的 HTML 结构是有原因的。这一点都不难,而且可以避免您遇到跨浏览器处理形状不正确的文档时遇到的不一致问题。

              我从来没有真正理解为什么我们实际上被允许编写结构上无效的 HTML。文档阅读器很可能会拒绝格式不正确的 PDF,但 HTML 5 甚至似乎有一个正式的错误处理规范......

              【讨论】:

              • 并非所有浏览器都会忽略它们,这不是一个有效的假设。
              • @Mike:是的,但到目前为止,我所知道的每个浏览器都是这样做的。
              【解决方案11】:

              该标准只是一个建议,因为您可以编写自己的 DTD 并确定阴影是该标准的一部分,然后您的页面就可以正常验证。
              现有的标准在进行中,受到许多参数的影响,并非都是 100% 专业/技术。
              使用标准的主要原因是据说会使您的页面在浏览器之间呈现最相似(至少是那些支持标准的浏览器:-))

              【讨论】:

                【解决方案12】:

                “有效”代码不如“语义”代码重要。如果到处都是字体标签,并且列表标签没有关闭,那么使用严格和正确的 xml 解析引擎将既难以维护,也难以解析。

                【讨论】:

                • 字体标签并不比 HTML 或 XML 中的其他任何东西更难解析。没有结束标签的列表项在 HTML 中解析起来并不困难,而在 XML 中它们无论如何都是无效的。使用字体标签不是一个好主意还有其他原因,可解析性不是一个原因。
                【解决方案13】:

                只要它在您关心的浏览器中工作,就没有关系。理论上,您的维护成本可能使用经过验证的代码会更低。

                您必须确定项目的成功标准是什么。如果你的程序能满足客户的需求,那么仅仅因为你的代码是“有效的”并不能让它本身变得更神奇。

                【讨论】:

                【解决方案14】:

                我会打个比方。你所说的就像是说我喜欢用方形轮胎制造我的汽车,它可能并非在所有地方都有效,但它对我有用。

                如果您不生产可供最多人使用的产品,您如何期望您的产品被最多人了解和使用。通过忽略使用 IE 的人(顺便说一句,这仍然是大多数人),你会在自己的脚下开枪。您需要创建可以被绝大多数人使用的东西,同时尝试遵循那些确实遵循它们的浏览器的标准。

                【讨论】:

                  【解决方案15】:

                  还有一点...如果您正在编写 SharePoint Web 部件,您可以想象到最糟糕的、混乱、笨拙和狡猾的 HTML,并且您的 Web 部件在 SharePoint 中感觉就像在家里一样.

                  当整个框架吐出垃圾时,看到纯粹主义者尝试为 MOSS 插件编写有效的 HTML 严格代码,这实际上让我很开心。

                  难怪您在公司内部网上找不到任何东西......

                  【讨论】:

                    【解决方案16】:

                    您应该始终拥有有效的 (X)HTML,因为在极少数情况下,没有有效代码的好处超过了没有经过验证的代码的好处。

                    然而,对于 CSS,没有理由这么严格。您的所有 CSS 都应该正确并按预期工作,遵循最佳实践并在可能的情况下进行优化。除此之外,使用你想要的所有浏览器特定的实验性东西,它不会显着影响其他浏览器。

                    【讨论】:

                      【解决方案17】:

                      遵循标准的最佳理由是减少标准的碎片化,从而导致不稳定。

                      如果每个人都以完全相同的方式打破标准并且经过深思熟虑,那么这不是什么大问题。随着时间的推移,该标准将不断发展,以匹配已成为普遍做法的内容。看看现代 HTML 是如何从 SGML 注释规则、标签最小化等发展而来的,以及 如何足以触发标准模式。这些都是违反标准的,但却是常见的做法,现在新标准 (HTML5) 甚至正在发展以支持这些。

                      如果每个人都以不同的方式打破标准,通过普遍的草率或通过想要发明自己的“黑客”,那么标准不会演变,而是会分裂。浏览器很难支持人们已经进入的每个不同方向来破解某些东西,以使其看起来正确(或者只是通过草率的错误)。到目前为止,他们在保持向后兼容方面做得很好,但其代价是解析器复杂性的大幅增加。然而,迟早会停止支持不太流行或更晦涩难懂的 hack 或错误,因为它们一开始只是愚蠢的想法(想到各种 CSS 选择器 hack)或者它们离左侧字段太远了( 元素,等等)。

                      【讨论】:

                        猜你喜欢
                        • 2010-09-20
                        • 2011-03-05
                        • 1970-01-01
                        • 1970-01-01
                        • 2012-02-15
                        • 2011-09-26
                        • 2010-11-29
                        相关资源
                        最近更新 更多