跳到工具区
Web 开发

CSS 格式化与压缩

使用语法感知的处理流程格式化、美化、诊断和压缩 CSS,并明确区分保守压缩与 CSSO 结构优化。

Web Worker 仅本地处理工具
输入0 个字符
结果0 个字符
就绪

3 种操作 · 3 种不同承诺

先决定允许机器改动到哪一步。

格式化、诊断和压缩都要求源码能够被正确解析,但它们会进入不同处理流程。先选清楚要的是可读排版、错误线索,还是更少字节,再判断输出是否符合预期。

01

格式化

PostCSS AST → 可读 CSS

统一缩进、空格和换行

02

诊断

Parser → 解析证据

定位语法问题,并说明检查边界

03

压缩

保守清理 / CSSO

减少注释、空白或进一步优化结构

现代 CSS 压力样本

今天的 CSS,不止是二十年前的属性声明。

这些片段会同时考验层叠层、原生嵌套、自定义属性、特性查询、数学表达式和感知颜色。真正有用的格式化器必须先正确理解它们。

@layer

@layer components { … }

保留作者定义的层叠层顺序

原生嵌套

.card { &:hover { … } }

父选择器仍与嵌套规则相连

设计 Token

:root { --space: 1rem; }

完整保留自定义属性名

@supports

@supports (color: oklch(0 0 0))

条件规则保持正确嵌套

数学表达式

width: calc(100% - var(--space))

让运算间距清晰可读

现代颜色

color: oklch(72% .18 145)

保留现代颜色函数 token

字节预算流水线

更小是一条处理路径,不是“更漂亮”的同义词。

格式化可能让文件变大。默认保守压缩只清理普通注释和多余空白,不重组规则;Maximum preset 会交给 CSSO,并启用 declaration 与 rule 的结构优化。

原始源码

基准

保留原始空白、注释和换行

格式化

可能增大

为阅读重新排版,字节增加很正常

保守压缩

通常更小

收紧空白并删除普通注释,不调整规则结构

Maximum preset

需主动选择

CSSO 清理、短写并合并或重组结构

Parser 定位线索

先修复最早断裂的语法边界。

一个没有闭合的代码块,会改变解析器理解后续每个 token 的方式。最早出现的行列位置,比笼统的“CSS 无效”更有价值。

ParseError · 第 1 行打开的代码块未闭合
.card {
  color: var(--ink);
  &:hover {
    color: oklch(70% .2 145);
  /* 缺少两个结束花括号 */

先闭合嵌套规则,再闭合父规则。重新运行诊断后,再处理后续 declaration。

层叠边界法庭

解析成功,仍然不能证明这些事情

超出格式化器的判断范围
01

Specificity 是否符合意图

合法选择器仍可能覆盖不该覆盖的规则。

02

选择器是否未使用

格式化器看不到应用实际渲染出的 DOM。

03

目标浏览器是否支持

parser 能识别现代语法,不代表目标浏览器能够执行。

04

视觉结果是否等价

只有真实渲染与视觉回归测试,才能判断最终像素。

直接回答

什么是 CSS 格式化与压缩?

在浏览器本地使用 Prettier/PostCSS 格式化和诊断现代 CSS,或选择保守压缩与 CSSO 深度压缩;源码无需上传,也不冒充层叠规则审计。

它能做什么?

  • 格式化
  • 诊断
  • 压缩

如何使用 CSS 格式化与压缩

  1. 01

    选择任务

    在工作区选择格式化、诊断和压缩。

  2. 02

    提供输入

    .card { display: grid; gap: 1rem; color: #7C3AED; }。内容始终留在浏览器的本地处理流程中。

  3. 03

    检查结果

    运行工具,检查结果和诊断信息;页面提供复制或下载时,可以直接导出。

常见问题

CSS 格式化与压缩是什么?
在浏览器本地使用 Prettier/PostCSS 格式化和诊断现代 CSS,或选择保守压缩与 CSSO 深度压缩;源码无需上传,也不冒充层叠规则审计。
CSS 格式化与压缩能做什么?
CSS 格式化与压缩支持格式化、诊断和压缩,所有模式都可以直接在当前页面使用。
CSS 格式化与压缩会上传我的数据吗?
CSS 格式化与压缩会在浏览器本地处理输入内容。DevSexy 不会增加上传、登录或服务器处理步骤。
DevSexy 在浏览器本地处理工具输入:不追踪粘贴内容,无需账号,也没有上传步骤。