CSS校验

把一段 CSS 粘进来,本页帮你看大括号配对、注释闭合、分号缺失等常见手误,逐条列出问题所在行,省得在控制台里找半天。

口径:检查大括号配对、注释闭合、缺分号(简版)。演示的示例里「font-size: 16px」缺分号,会被报出来。

使用方法

CSS校验三步:

  1. 把 CSS 粘进文本框,页面已预置一段含错误的示例。
  2. 点「检查」,下方表格逐条列出问题类型、所在行与提示。
  3. 点「复制报告」把结论带走,或点「载入示例」还原。

CSS校验能解决什么

它解决「CSS 明明写错了却不报错」的困扰:

  • 括号对不上:少一个大括号会让后面所有样式失效,本页直接定位。
  • 注释没闭合:/* 忘了写 */ 会吞掉后面一大段。
  • 漏分号:两条声明之间少分号,浏览器会静默丢弃一条。

本页不做的事:不做完整的 CSS 语法解析,也不检查属性名拼写——它聚焦最容易出的结构性错误。

原理和变量

① 用了哪个具体函数:用计数器扫描全文——遇到 { 加 1、遇到 } 减 1;同时用状态机标记是否处在 /* */ 注释中;再逐行判断「有冒号但行尾无分号且不在块首尾」的情况。

② 关键参数为什么这样取:先判定注释状态再计数括号,是因为注释里的括号不应计入;只报「缺分号」的疑似行,是为了避免把单行声明误报。

③ 遵循哪个标准:检查规则依据 CSS 的基本词法——块用大括号、声明以分号分隔、注释成对出现。

④ 输入怎么变成输出:演示代码里「font-size: 16px」缺少分号,且大括号本身配对正常,因此报告只有一条「疑似缺分号」。

⑤ 边界与阈值:空输入提示;括号计数为负(多了右括号)会立即报出所在行;行数不限。

⑥ 常见误用的正确解释:这是检查器不是格式化器,不会自动修复;也不会报「属性拼写错」「语法过时」这类问题,别把它当完整 lint 用。

完整示例

演示输入为页面预置代码,检查结果为:

  • 大括号:{ 出现 2 次、} 出现 2 次,配对正常。
  • 注释:/* 卡片样式 */ 成对闭合,正常。
  • 疑似缺分号:第 8 行 font-size: 16px 末尾无分号 → 报出。

把那一行补上分号再检查,问题列表即清空。演示仅作说明。

输入范围与对照表

问题类型与提示对照:

问题类型触发条件提示
括号未闭合{ 多于 }缺少 N 个右大括号
多余右括号} 多于 {第 X 行出现多余 }
注释未闭合有 /* 无 */注释未结束
疑似缺分号行内有冒号但行尾无 ; } {第 X 行可能缺分号
空样式块{} 之间只有空白第 X 行是空规则

结果边界和舍入

本工具不涉及数值计算。检查是「逐字符扫描」,因此字符串里出现的括号也会被计入(CSS 里字符串较少见)。报告的「行号」从 1 开始,与你编辑器里看到的一致。

常见问题

能自动修复错误吗?

不能,本页只报告问题位置,修复需要你手动完成。

能检查属性名拼写吗?

不能。本页聚焦大括号、注释、分号这类结构性问题,不做完整语法解析。

为什么字符串里的括号也算?

因为检查是逐字符扫描的简化实现;CSS 中字符串很少见,实际影响不大。

缺分号的提示准吗?

它是「疑似」提示,基于行内有冒号但行尾无分号的启发式,请结合代码判断。

会上传我的代码吗?

不会,检查完全在浏览器本地进行。

支持 SCSS 或 Less 吗?

不支持嵌套语法的完整检查,本页只按标准 CSS 的花括号规则统计。

能检查压缩后的 CSS 吗?

可以,压缩后整段常在一行,括号计数仍有效,但行号提示意义不大。

检查结果为空说明什么?

说明未发现结构性错误,但不代表样式一定能如你所愿地生效。

相关工具