CSS 格式化与压缩
格式化所有处理都在浏览器本地完成,数据不上传服务器
输入
输出
把压缩成一行的样式表展开:每个规则块的声明单独成行、选择器列表按逗号分行、@media 与嵌套规则逐层缩进,空规则收成一行。压缩模式反过来只删结构位置上的空白,并去掉 } 前多余的分号 —— 而 margin: 0 auto 里的空格、a :hover 里冒号前的空格都是语义,删掉会把样式改坏,所以一律保留。
功能
- 规则块展开:选择器一行、声明逐行、} 与选择器对齐
- 选择器列表按逗号分行,值里的逗号(字体列表、rgba())留在原地
- 空规则收成一行(a {})
- 声明冒号统一成 color: red;选择器里的伪类冒号(&:hover、a:hover)不会被插进空格
- 字符串、注释与 url() 内部的结构字符不参与判断:content: "}" 与 data URI 里的分号都不会把规则拆坏
- data URI 按整体处理,不会因为里面的分号被切成两条声明
- 压缩模式去掉结构位置的空白、} 前多余的分号与普通注释
- 保留 /*! ... */ 形式的版权注释
- 不做语法校验:括号不配对时尽力缩进而不是报错
使用方法
- 把 CSS 粘贴进输入框
- 选择处理方式与缩进
- 按 Ctrl/⌘ + Enter 或点「运行」
- 点「复制」取走结果
常见问题
- 压缩会删掉 margin: 0 auto 里的空格吗?
- 不会。只有 { } ; , : 前后的空白会被删。0 auto 是两个值,少一个空格整条声明就失效了 —— 这类空格一律保留。
- a :hover 会被压成 a:hover 吗?
- 不会。选择器里冒号前的空格是后代组合符,a :hover 与 a:hover 是两条完全不同的规则,压缩时保留。
- 嵌套写法(CSS Nesting)支持吗?
- 支持。&:hover 里的冒号与声明冒号由同一处判断区分:只有后面跟着 ; 或 } 的冒号才当成声明冒号,所以不会把选择器写成 &: hover 这种非法样式。
- CSS 会被上传吗?
- 不会。全部处理在浏览器内存里完成,页面不发任何请求,断网也能用。
相关工具
JavaScript 美化
格式化在线 JavaScript 缩进美化:按大括号与分号重新排版,对象字面量与代码块分开处理,字符串和注释原样保留,只做缩进、不做语法解析。
HTML 格式化
格式化在线 HTML 格式化与压缩:按标签层级缩进,文本与行内标签保持同一行,script 与 pre 内容原样保留。代码不出浏览器,不上传服务器。
颜色转换
转换计算在 HEX、RGB、HSL 与 HSV 之间互转颜色,并算出文字与底色的 WCAG 对比度,说明有没有达到 AA 或 AAA。全部在浏览器本地完成。
JSON 格式化
格式化在线 JSON 格式化与校验工具,支持格式化、压缩、语法错误定位到具体行列、键名递归排序。所有解析都在浏览器本地完成,数据不上传服务器。
JSON 转代码
格式化把 JSON 样本转成 TypeScript interface、Go struct、Java class 或 Rust struct:不齐的键标成可选、类型冲突退化为联合类型。全程在浏览器本地生成。
SQL 格式化
格式化在线 SQL 格式化:关键字统一大小写、按 SELECT / FROM / WHERE 等子句换行缩进、子查询逐层展开,压缩模式去掉多余空白与注释。语句不上传服务器。