CSS 压缩与美化
网络所有处理都在浏览器本地完成,数据不上传服务器
输入
把文件拖到这里可直接载入
输出
把 CSS 压成一行,或者重新缩进成易读的多行,并给出规则数、声明数、选择器数,以及压缩前后的字节数与节省比例。它用一个最小的字符级扫描器,不用正则瞎删 —— `content: "}"` 里的花括号、`url("a;b.png")` 里的分号、`[data-x="a,b"]` 里的逗号都不会被当成结构符号切开。压缩时最后一条声明后的分号默认去掉,也可以选保留;注释可以去、也可以留(`/*!` 版权注释始终保留)。全部在浏览器里完成,样式表不会上传。
功能
- 三种模式:压缩、美化、只统计
- 美化模式缩进可选 2 空格、4 空格或 Tab
- 统计规则数、声明数、选择器数
- 给出压缩前后的字节数与节省比例
- 最后一条声明后的分号可选保留或去掉
- 注释可选去掉,`/*!` 版权注释始终保留
- 字符串、注释、url() 与方括号里的 `{};:,` 不会被误删
- `a :hover` 与 `a:hover` 的区别被正确保留
- 结果可整块复制,统计可逐行复制
使用方法
- 把 CSS 粘贴或拖进输入框
- 选模式,需要时再调缩进、分号与注释选项
- 处理结果与统计随输入实时更新
- 复制处理后的 CSS,或逐行取走统计数字
常见问题
- 为什么不直接用正则做压缩?
- 因为 CSS 里 `{};:,` 到处都可能是数据而非结构:`content: "}"` 里的花括号是字符串内容,`url(a;b.png)` 里的分号是 URL 的一部分,`[data-x="a,b"]` 里的逗号在选择器里。正则会把它们切开,产出一份看起来正常、语义已经变了的样式表 —— 而它多数情况下仍能被浏览器解析,只是渲染不对。所以这里写了一个最小的字符级扫描器。
- 「只统计」模式为什么不算出压缩后的 CSS?
- 它算的。节省比例与「压缩后字节数」都是按压缩后的结果算出来的,只是不把那段 CSS 显示出来 —— 你只是想知道能省多少时,不必先看一屏密密麻麻的输出。
- 删除注释会删掉版权声明吗?
- 不会。以 `/*!` 开头的注释是业界约定要保留的版权声明,无论是否勾选「去掉注释」都会留下。
- CSS 会上传吗?
- 不会。切词、压缩、统计全部在浏览器里跑,页面不发送任何请求。
相关工具
CSS 格式化
格式化在线 CSS 格式化与压缩:规则块展开、声明逐行、选择器列表一项一行,压缩只删结构位置的空白,保留 margin: 0 auto 这类有语义的空格。
CSS 单位换算
转换把 CSS 长度在 px、rem、em、vw、vh、vmin、vmax、pt、in、cm、mm 之间互转。根字号与视口尺寸可调,每个数字都标出按什么算的。
HTML 格式化
格式化在线 HTML 格式化与压缩:按标签层级缩进,文本与行内标签保持同一行,script 与 pre 内容原样保留。代码不出浏览器,不上传服务器。
URL 解析
网络在线 URL 解析:拆出协议、主机、端口、路径、查询参数与锚点,参数逐个解码并与原始值对照,缺协议自动补 https://。全部在浏览器本地完成。
UA 解析
网络在线 User-Agent 解析:识别浏览器、版本、操作系统、设备类型与渲染引擎,并列出命中的匹配规则。结果基于模式匹配,仅供参考。全部在浏览器本地完成。
HTTP 状态码
网络HTTP 状态码查询与速查:输入编号查含义、1xx 到 5xx 分类、常见场景与排查提示,也能用关键词反查编号。全部在浏览器本地完成。