压缩器可以不问自删的东西
会删除的只有两类:注释和无害的空白。注释会被删除,除非它以 `<!--!` 开头,那是许可声明的惯例;或者它是为旧浏览器编写的 `<!--[if ...]>` 条件注释。这两类都由一个默认开启的开关保留。空白先折叠成一个空格,再在 `white-space: normal` 下浏览器不会渲染的位置删除:页面开头或结尾,或者紧邻 `div`、`p`、`ul`、`h1` 这样的块级元素。紧邻无法归类的内容时,空白会保留,因为猜错的代价是布局悄悄发生位移。
其余内容一律保持原样。不重排属性,不去掉引号,不补充可省略的结束标签,不触碰自闭合斜杠——内联 SVG 需要这个斜杠来结束元素——也不合并任何元素。输出的风格是刻意选择的:你可以把它和输入做 diff,并看懂每一处差异。