我已经开发网站几年了,我几乎从不检查我的页面是否是有效的 HTML 和 CSS。我的检查是使用诸如 browsershots.org 之类的网站并检查它在所有不同浏览器中的外观。但是最近我一直在上大学课程,教授希望我们验证我们上交的每一件事。这让我开始思考。
我应该关心我的页面是否有效吗?
我已经开发网站几年了,我几乎从不检查我的页面是否是有效的 HTML 和 CSS。我的检查是使用诸如 browsershots.org 之类的网站并检查它在所有不同浏览器中的外观。但是最近我一直在上大学课程,教授希望我们验证我们上交的每一件事。这让我开始思考。
我应该关心我的页面是否有效吗?
是的,因为这里已经提到的原因。
我知道您不一定在谈论商业网站,但无论如何都表现得像您一样好。
只是检查您的网页在不同浏览器中看起来是否良好现在似乎可以工作,但在未来网络浏览器将发生变化,您的页面可能不再看起来正确。但是,如果您的页面是有效的 HTML 和 CSS,那么较新的浏览器将来应该可以正确显示它们。
是的,标准是您在不断变化的世界中的防御。仅仅因为您的网站可以使用这种网络浏览器,如果您不符合标准,则不能保证您会很好地使用下一个浏览器。老实说,网络浏览器通常会在网站的生命周期内多次更新。
作为一个勤奋的开发人员,我相信您会随着浏览器的更新而重新测试,但是在更新和您测试(修复)之间存在一个窗口。:-)
是的。否则,您的老师可能会降低您的成绩。
我发现验证是一个原则问题,而不是要求的问题。当我们现在仍然只测试流行的浏览器时,将 IE 视为缺乏标准兼容性是非常虚伪的。
始终检查您的页面是否有效。
嗯,这几乎是圣战之地。如果您在使用 CSS 时遇到问题,请确保您的 HTML 和 CSS 验证是一个非常好的诊断步骤。如果您的 HTML 非常糟糕,它有时会导致可访问性问题。否则,没有任何实际理由担心它。
但是,在工作中小心并为自己的工艺感到自豪,那是另一回事。如果您的页面通过验证,它就像一颗小金星,您会在几秒钟内获得一种温暖的模糊感。这是一个最佳实践。
如果你喜欢以绝对正确的方式做事,那么当然,关心它。
在我看来,网页验证是一件复杂的事情。一方面,您有 W3C 推荐 - 那就是:推荐- 可能会或可能不会(可能不会)在所有浏览器中同等呈现。另一方面,您的 CSS/HTML 调整和技巧使每个页面呈现像素完美,但很可能无法使用 W3C 验证器进行验证。
在现实生活中,这是一个妥协的世界。我个人尝试两者都做 - 验证错误最少,但主要强调它实际上在广泛使用的浏览器中看起来不错。
但是,在学术生活中,我认为教授要求 100% 符合 W3C 标准是完全公平的。然而,它是我们所拥有的最接近 HTML/XHTML 规范的规范,而这正是学术界人士最终感兴趣的——理论。
我总是验证我的网页,我建议您也这样做,但许多大型公司网站不会也无法验证,因为网站在所有系统上看起来完全相同的重要性需要打破规则。
一般来说,有效的网站即使在奇怪的配置(如手机)上也能帮助你的页面看起来很好,所以你至少应该尝试让它验证。
验证以确保您没有犯错误。如果验证器抱怨您必须为浏览器兼容性添加一些内容,您可能会忽略它。
绝对地!您的网站应该是有效的!有效的 HTML/CSS 更有可能在 10 年后的未来浏览器中工作!
正如 Eric 所说,许多大型网站都没有验证,但是,如果您从一个在 Firefox、Safari/Chrome 或 Opera 中完美运行的验证网站开始,那么它很可能是正确的或大部分是正确的其他 3 个,只需要稍作调整即可使它们正确。
然后,您可以处理基于 Trident 的浏览器(如 IE)可能需要的任何 hack。对于大多数普通网站来说,在 IE7 和 IE6 中运行所需的 hack 仍然有效。
一旦你到了那个时候,就很容易调试任何问题,然后开始进行任何无法验证的调整/修改。
如果您可以使用服务器端编程,或者在客户端使用 JavaScript,那么很容易确定正在使用哪种浏览器(假设它正在发送正确的用户代理)和 PHP,然后您可以在常规之上加载特定样式表每个浏览器的样式表。IE6 和 7 有 HTML hack,不需要任何额外的工作来为它们加载特定的样式表,但是 Gecko、Webkit 或 Presto 浏览器(Firefox、Safari/Chrome 或 Opera)没有任何可用的东西,所以另一种方法是这些浏览器特有的任何东西都需要。
我认为验证您的页面是一件好事,但是围绕这一点有一些神话。
首先,您可能不想使用 XHTML,因为您总是不正确地将它提供给浏览器。坚持使用 HTML 4.0 Strict。
其次,拥有有效的页面很好,也很有用,但不要因此而自责,也不要验证其他人的页面——有些人真的很喜欢这个,而且它只会让人觉得很卑鄙。
最后,尝试“填充”页面中的文本,这样你的行就不会太长。它与验证无关,但有助于人类阅读您的 HTML。