html缩进突变是dom结构断裂的信号,源于标签未闭合导致浏览器错误补全;需用tidy-html5或htmlhint实时校验,chrome elements面板“edit as html”可最终验证。

格式化后缩进突变说明结构断裂
HTML格式化工具(如Prettier)本身不校验闭合,只重排空格和换行。缩进突然多出2~3层、<tr>出现在<code>同级、或一堆孤悬的——这些都不是格式问题,是浏览器解析时强行补全未闭合标签导致DOM树错乱,格式化器只是把错误结构“忠实地”缩进了。
- 典型信号:
<section></section>内部子元素比父级多缩进两层,但源码里没写那么多嵌套 <table>里的<code><tr>和<code>并列缩进,说明前面或漏了- 大量浅缩进的
找不到对应<div>,基本是前面某个<code><div>没闭合,后续所有内容被包进去了<h3>用tidy-<a style="color:#f60; text-decoration:underline;" title="html" href="https://m.php.cn/zt/15763.html" target="_blank">html</a>5在保存时直接报错</h3> <p>靠肉眼扫缩进太慢,得让编辑器在保存瞬间就告诉你哪一行缺了什么。Prettier做不到这点,<code>tidy-html5可以。- 全局安装:
npm install -g tidy-html5(macOS也可用brew install tidy-html5) - VS Code装插件:
emeraldwalk.runonsave - 工作区设置里加这段:
"emeraldwalk.runonsave": { "commands": [ { "match": "\.html$", "isAsync": true, "cmd": "tidy -m -q -w 0 -i -u -asxhtml '${file}'" } ] } - 保存时终端直接输出:
line 42 column 8 - Warning: missing
- 全局安装:











