【发布时间】:2009-10-18 15:48:33
【问题描述】:
我刚刚从 Google 阅读了this article。我一直认为结束标签对于保持 html 文档的清洁并使它们机器可读很重要。但他们建议相反。
您对此有何看法?
【问题讨论】:
-
我不会那样做的。只是看起来很乱。
标签: html
我刚刚从 Google 阅读了this article。我一直认为结束标签对于保持 html 文档的清洁并使它们机器可读很重要。但他们建议相反。
您对此有何看法?
【问题讨论】:
标签: html
Google 的情况有点不寻常,因为他们提供了非常多的主要搜索页面副本,以至于页面大小的任何微小节省很快就会加起来。这意味着对他们来说,通过删除关闭标签和空格来缩小页面是经济的,但代价是使它们更难维护。
你不是谷歌;它不太可能为您带来回报。您会注意到您链接到的 Google 页面本身并没有省略它推荐的标签,因为它不是 Google 提供很多服务的关键页面之一。将其与 www.google.com 首页的极端缩小进行比较。
使用 gzip/deflate 压缩,您将获得几乎最小的传输大小;进一步减少加价是一种绝望的措施,除非您提供负载服务,否则这将是过早的优化。
【讨论】:
这完全取决于您的文档类型。如果您使用 HTML 4 过渡,那么是的,您可以不用结束标签。如果您使用 XHTML 或 HTML 4 strict,那么不,请关闭您的标签。
【讨论】:
HTML 规范允许您省略某些结束标记。一般来说,这些是不能自我嵌套的标签,因此结束标签永远不会模棱两可。举个例子:
<p>A paragraph of text.
<p>Another paragraph of text.</p>
<div>A divider element...
<div>Another divider element...</div>
在第一个例子中,当你到达第二个<p>时,这意味着上一段已经结束,因为你不能嵌套段落标签。浏览器将其解释为:
<p>A paragraph of text.</p>
<p>Another paragraph of text.</p>
在第二个示例中,第二个<div> 创建了一个嵌套的 div 元素,而</div> 关闭了内部元素。您需要添加另一个 </div> 任何您希望外部完成的位置。
然而,说了这么多,关闭所有标签可能会更容易,以避免任何问题。这取决于您对白名单的记忆程度。如果您忘记了,例如divs 必须始终关闭,您的布局将一团糟。
正如 bobince 所说,使用 gzip 有点无关紧要。如果您有 30 个段落,则有和没有结束标记的版本之间的差异将是 120 个字节。但是,如果两者都被 gzip 压缩,则差异将很小 - 小于 10 个字节。我建议编写 HTML,但你觉得舒服。
【讨论】:
只要您遵守 DTD,我同意尽量减少混乱。就个人而言,我从未见过有人使用过
</br>
解析器将(应该)根据 DTD 进行解析,因此它仍然是“机器可读的”。
【讨论】:
<br/>
BR 元素。与结束标签是可选的其他元素(例如P)相反。
那篇文章建议省略标记对的结束标记,该标记对最好以单例开头。由于它引用的带有删除线的标签应该用作单例,因此没有结束标签,这既不是最佳实践建议,也不是错误的。我建议完全无视这篇文章,因为它试图推荐一种更好的方法,而不是一开始就完全有缺陷的做法。
老实说,我不建议您从 Google 获取任何有关标记的建议,因为如果他们可以减少提供给最终用户的字符数,他们会选择完全无视任何标准。尝试验证他们的任何代码,并亲眼看看它们不是应该解决标记最佳实践的任何示例。
【讨论】: