【问题标题】:Omitting optional tags of html省略 html 的可选标签
【发布时间】:2009-10-18 15:48:33
【问题描述】:

我刚刚从 Google 阅读了this article。我一直认为结束标签对于保持 html 文档的清洁并使它们机器可读很重要。但他们建议相反。

您对此有何看法?

【问题讨论】:

  • 我不会那样做的。只是看起来很乱。

标签: html


【解决方案1】:

Google 的情况有点不寻常,因为他们提供了非常多的主要搜索页面副本,以至于页面大小的任何微小节省很快就会加起来。这意味着对他们来说,通过删除关闭标签和空格来缩小页面是经济的,但代价是使它们更难维护。

你不是谷歌;它不太可能为您带来回报。您会注意到您链接到的 Google 页面本身并没有省略它推荐的标签,因为它不是 Google 提供很多服务的关键页面之一。将其与 www.google.com 首页的极端缩小进行比较。

使用 gzip/deflate 压缩,您将获得几乎最小的传输大小;进一步减少加价是一种绝望的措施,除非您提供负载服务,否则这将是过早的优化。

【讨论】:

    【解决方案2】:

    这完全取决于您的文档类型。如果您使用 HTML 4 过渡,那么是的,您可以不用结束标签。如果您使用 XHTML 或 HTML 4 strict,那么不,请关闭您的标签。

    【讨论】:

    • 我没看过,但是HTML5需要endtags吗?
    • HTML5 并没有改变这种情况; HTML 风格的序列化可以省略标签,XHTML5 的序列化不能。
    • 我开发 CMS 应用程序。我将始终建议正确关闭标签。因为如果有一天您需要传输内容,解析 XML 结构的内容比解析刚刚结束的内容要容易得多。我想到了括号之类的标签。他们有一个 { 和一个 }。
    【解决方案3】:

    HTML 规范允许您省略某些结束标记。一般来说,这些是不能自我嵌套的标签,因此结束标签永远不会模棱两可。举个例子:

    <p>A paragraph of text.
    <p>Another paragraph of text.</p>
    
    <div>A divider element...
    <div>Another divider element...</div>
    

    在第一个例子中,当你到达第二个&lt;p&gt;时,这意味着上一段已经结束,因为你不能嵌套段落标签。浏览器将其解释为:

    <p>A paragraph of text.</p>
    <p>Another paragraph of text.</p>
    

    在第二个示例中,第二个&lt;div&gt; 创建了一个嵌套的 div 元素,而&lt;/div&gt; 关闭了内部元素。您需要添加另一个 &lt;/div&gt; 任何您希望外部完成的位置。

    然而,说了这么多,关闭所有标签可能会更容易,以避免任何问题。这取决于您对白名单的记忆程度。如果您忘记了,例如divs 必须始终关闭,您的布局将一团糟。

    正如 bobince 所说,使用 gzip 有点无关紧要。如果您有 30 个段落,则有和没有结束标记的版本之间的差异将是 120 个字节。但是,如果两者都被 gzip 压缩,则差异将很小 - 小于 10 个字节。我建议编写 HTML,但你觉得舒服。

    【讨论】:

      【解决方案4】:

      只要您遵守 DTD,我同意尽量减少混乱。就个人而言,我从未见过有人使用过

      </br>
      

      解析器将(应该)根据 DTD 进行解析,因此它仍然是“机器可读的”。

      【讨论】:

      • 确实,人们使用的是缩短版&lt;br/&gt;
      • 我应该澄清一下。我从没见过有人做过
        之类的事情,通常我只是将其视为
      • 请注意,在 html 中,禁止关闭 BR 元素。与结束标签是可选的其他元素(例如P)相反。
      【解决方案5】:

      那篇文章建议省略标记对的结束标记,该标记对最好以单例开头。由于它引用的带有删除线的标签应该用作单例,因此没有结束标签,这既不是最佳实践建议,也不是错误的。我建议完全无视这篇文章,因为它试图推荐一种更好的方法,而不是一开始就完全有缺陷的做法。

      老实说,我不建议您从 Google 获取任何有关标记的建议,因为如果他们可以减少提供给最终用户的字符数,他们会选择完全无视任何标准。尝试验证他们的任何代码,并亲眼看看它们不是应该解决标记最佳实践的任何示例。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2015-11-16
        • 2011-01-17
        • 2012-10-15
        • 2017-08-18
        • 2016-06-19
        • 2014-09-12
        • 2011-08-02
        相关资源
        最近更新 更多