【发布时间】:2016-07-22 11:51:34
【问题描述】:
Google chrome(可能还有所有最近的浏览器)会在缺少 html 元素时自动添加结束标记。 会自动在父元素末尾添加结束标签。
示例 1:
<tag1>content1<tag2>content2<tag3>content3
将输出:
<tag1>
content1
<tag2>
content2
<tag3>
content3
</tag3>
</tag2>
</tag1>
示例 2:
<tag1>content1<tag2>content2</tag2><tag3>content3
将输出:
<tag1>
content1
<tag2>
content2
</tag2>
<tag3>
content3
</tag3>
</tag1>
我知道前面的 html 示例无效且难以阅读。但是使用 html 缩小器 删除遵循此规则的关闭 html 标记可能会减小模板的大小。为什么 html minifier 不使用此规则?有什么限制吗?
编辑: 上下文:我不是特别在谈论任何名称标签,这就是我在示例中使用tagX 的原因。例如。使用 angularjs 元素指令
【问题讨论】:
-
它们无效,因为您使用的是组合元素而不是 HTML。有些元素有可选的结束标签(有些有可选的开始标签)并且可以完全有效。
-
我们无法告诉您为什么 HTML 缩小器没有利用可选标签规则,因为您还没有告诉我们您正在谈论的是哪个软件(答案可能是“因为你没有设置正确的选项”或“我们怎么知道,问作者”)
-
你为什么还要关心节省几十个字节?为您的导航添加一些新图标,任何节省都将付诸东流。
-
因为缩小绝对不是主要目标。绝对不可读和不可维护的代码,只有你自己理解,在 2016 年人们有 100+ MBit 互联网的时候,编码后的一周不值 1 KB 的数据。人们会主动 skp almst 所有的 vwls,它会自动读取发送的 dt,但我们不这样做。这根本不值得。
-
@YeldarKurmangaliyev —“缩小绝对不是主要目标”。它应该是。 OP 称他所说的工具是“一个 html 缩小器”