如果我在大多数主流浏览器中测试过我的网页,为什么我需要维护经过验证的代码?如果WebKit浏览器和Firefox支持它们,我想使用盒阴影和角半径。我不在乎他们是否没有出现在Internet Explorer上。但是我通过不包括图像来保持我的HTTP请求。
有效代码有优势吗?在SEO或其他方面?
答案 0 :(得分:34)
答案 1 :(得分:15)
因为,只有了解规则,你才知道何时打破它。
使用特定于浏览器的扩展程序并不错,但是您希望 ,而不是盲目地做。
验证指出了您偏离标准的地方。也许你需要,也许你没有,那个决定是你的。
答案 2 :(得分:9)
拥有有效HTML的一个原因是可访问性。如果页面上的HTML有效,视障用户的屏幕阅读软件效果会更好。
答案 3 :(得分:7)
无效的css / html可能会变得很糟糕。更改可能会产生不必要的影响,这很难解决。
答案 4 :(得分:7)
您无法在尚未发布的浏览器中进行测试!
随着时间的推移,浏览器往往会变得更符合标准。如果您编写符合标准的网页,他们更有可能继续使用所有现有浏览器的下一版本。
答案 5 :(得分:4)
要求所有编写代码的人在IE 6中测试时工作正常,然后当IE开始更好地支持标准时,它就会崩溃。
答案 6 :(得分:2)
这与询问编写语法上有效的C代码是否有好处没什么不同:这样的程序不需要正确的东西™但是没有有效代码做正确的事情会更难。< / p>
关于SO的相关讨论:Do you validate your websites?
答案 7 :(得分:1)
验证代码是可以阻止许多查找并希望修复html / css中可能导致意外结果的许多问题的代码。恕我直言,它更多的是“可能是错误的常见事物”,而不是替代测试。如果你喜欢你想要的浏览器,我不会太担心验证。
(是的,如果您希望每个人都知道您使用验证来检查您的网站,您可以将小徽章放在您的网站上):D
答案 8 :(得分:1)
我认为有效(X)HTML是必须的,因为这定义了如何访问您的内容。格式错误的HTML可以阻止您的内容被人类和机器(想想搜索引擎,蜘蛛等)“读取”。想象一下,如果一家银行将您的帐户详细信息保存在格式错误的XML文件中,然后将该XML作为交易的一部分发送给另一家银行 - 由于其尝试解释的方式不同,银行可能会错误地读取这些金额总和。
有效的CSS略有不同,因为它纯粹是风格和效果演示,而不是内容。因此,只要您不介意以不同方式呈现您的内容的不同用户代理,保持其有效就不那么重要了。
答案 9 :(得分:1)
某些验证器有时会将css或html属性标记为“无效”,但您不必担心这一点。使用盒阴影和圆角完全没问题。不识别它们的浏览器会忽略它们,所以没有麻烦。我甚至鼓励你使用它们 - 如果有太多人会等到那些人被广泛支持,那么网络的势头会变得太大。
但是, 是在文档中拥有有效HTML结构的原因。它并不难,它可以帮助您避免在浏览器中处理错误形状的文档时出现不一致的情况。
我从未真正理解为什么我们实际上被允许编写结构无效的HTML。文档阅读者很可能会删除格式不正确的PDF,但HTML 5甚至似乎都有正式的错误处理规范......
答案 10 :(得分:0)
遵循标准的最佳理由是减少标准的碎片化,从而导致不稳定。
如果每个人都以完全相同的方式打破标准并且经过深思熟虑,那么这不是一个问题。随着时间的推移,标准将发展到与常见做法相匹配的程度。看看现代HTML如何从SGML评论规则,标签最小化等转移,以及如何&lt;!DOCTYPE html&gt;足以触发标准模式。这些都是违反标准的,但却是常见的做法,现在新的标准(HTML5)甚至在不断发展以支持这些标准。
如果每个人都以不同的方式打破标准,通过一般的邋,,或者想要发明自己的“黑客”,那么标准就不会发展,但它会碎片化。浏览器有一个更难的时间支持人们进入黑客攻击的每个不同的方向,以使它看起来正确(或只是通过草率的错误)。到目前为止,他们已经做得很好,仍然保持向后兼容,但这是以解析器复杂性大幅增加为代价的。迟早,然而,不太受欢迎或停止在支持更隐蔽的黑客或错误的,因为他们只是愚蠢的想法,开始用(不同的CSS选择器黑客浮现在脑海中),或者他们只是出过远左场(在&lt的; layer&gt;元素,等等。)
答案 11 :(得分:0)
标准只是一个建议,因为您可以编写自己的DTD并决定阴影是该标准的一部分,然后您的页面将验证正常。
现有标准是在工作中受到许多参数的影响,而不是全部100%专业/技术
使用标准的主要原因是它会导致您的页面在浏览器之间渲染最相似(至少那些支持标准的浏览器:-))
答案 12 :(得分:0)
你应该总是拥有有效的(X)HTML,因为很少有时候没有有效代码的好处超过了没有经过验证的代码的好处。
然而,对于CSS来说,没有什么理由要严格。您的所有CSS都应该正确并按预期工作,遵循最佳实践并尽可能优化。除此之外,使用您想要的所有浏览器特定实验内容,它不会显着影响其他浏览器。
答案 13 :(得分:0)
这是另一个观点......如果您正在编写SharePoint Web部件,那么您可以想象出您可能想象到的最糟糕,最混乱,最笨拙和狡猾的HTML,并且您的Web部件在SharePoint中会让您感到宾至如归。
当整个框架吐出垃圾时,实际上很让我看到纯粹主义者尝试使用代码有效的HTML严格的MOSS插件。
难怪你在公司内部网上找不到任何东西......
答案 14 :(得分:0)
我将通过类比回答。你说的就像是说我喜欢用方形轮胎修车,它可能无处不在,但它对我有用。
如果您不制作最多可供人们使用的产品,您希望您的产品如何被最多人所知和使用。通过忽略那些正在使用IE的人(顺便说一句,这仍然是大多数人),你自己在脚下射击。您需要创建一些可供绝大多数人使用的内容,同时尝试遵循那些遵循它们的浏览器的标准。
答案 15 :(得分:0)
“有效”代码并不像“语义”代码那么重要。如果整个地方都有字体标签,并且列表标签没有关闭,那么使用严格和正确的xml解析引擎就很难维护并难以解析。
答案 16 :(得分:0)
只要它适用于您关心的浏览器,那么它无所谓。理论上,使用经过验证的代码可能会降低的维护成本。
您必须确定项目的成功标准是什么。如果您的程序完成了客户需要的程序,那么仅仅因为代码“有效”并不会使其本身更具神奇性。