Stylelint如何校验缩进用制表符且不限制缩进层级?
解决Stylelint仅校验缩进使用制表符不限制层级的问题
我习惯用嵌套缩进的CSS代码区分样式变体,示例如下:
.a .animate { transition: opacity 0.2s linear; opacity: 0; } html.js .a.show .animate { opacity: 1; }
当设置规则"indentation": "tab"时,Stylelint会将第二个选择器标记为错误,要求其缩进数为0。请问如何配置Stylelint,使其仅校验缩进使用制表符(而非空格),但不限制缩进的层级数量?
我已提交特性请求。
解决方案
Stylelint默认的indentation规则会同时校验缩进字符类型和缩进层级是否符合代码结构规范。要实现仅强制使用制表符、不限制缩进层级的需求,可以通过以下配置组合实现:
- 关闭默认的
indentation规则:避免它检查缩进层级是否符合预期 - 启用
no-mixed-spaces-and-tabs规则并限定为仅检查缩进:确保所有缩进位置只能使用制表符,禁止空格与制表符混用
具体配置如下:
{ "rules": { "indentation": null, "no-mixed-spaces-and-tabs": "indentation" } }
说明
indentation: null:完全关闭缩进层级的校验逻辑,Stylelint不再检查代码的缩进深度是否符合规范no-mixed-spaces-and-tabs: "indentation":仅对代码中的缩进部分生效,确保这些位置只能使用制表符,不会干扰代码中其他合法的空格使用(比如属性值中的空格)
目前Stylelint官方暂未提供直接支持"只校验缩进类型、不校验层级"的配置项,上述方案是当前可行的替代方案。
内容的提问来源于stack exchange,提问作者Caleb
相关产品推荐
相关产品推荐

