CSS压缩看起来只是“删空格”,背后其实有一套严谨的流程,确保结果不影响页面渲染。
主要步骤
- 删除注释:移除 /* ... */ 内容,通常保留 /*! */ 这类版权声明
- 折叠空白:把多个空格、换行合并成一个空格,行首缩进全部移除
- 收紧分隔符:去掉 { } : ; 等符号两侧的多余空格,如 body { color: red; } 变为 body{color:red}
- 细节优化:可去掉块内最后一条声明的分号,颜色值 #ffffff 简写为 #fff
浏览器解析CSS时并不依赖这些空白和注释,因此压缩是安全的。格式化则是反方向:通过扫描字符并重新缩进,把压成一行代码恢复成便于阅读的结构。