Stylelint配置unit-disallowed-list时ignoreProperties负向前瞻无效问题
现有配置的问题
unit-disallowed-list是全局作用的规则,会校验所有语法场景下的单位。你配置的ignoreProperties参数仅对普通CSS属性声明场景生效,无法覆盖@media查询、@container规则、自定义媒体查询等非属性声明场景,所以@media (min-width: 380px)里的px单位会被拦截报错。- 正则写法有误:JSON配置中的正则匹配不需要包裹
/分隔符,你当前写的/^((?!font-size).)*$/会把前后的斜杠当成匹配内容的一部分,实际上无法匹配到任何CSS属性,导致你配置的忽略规则完全没有生效。
实现需求的最优方案
Stylelint原生支持针对特定属性限制单位,不需要使用全局的unit-disallowed-list规则再配置大量忽略项。你可以直接使用declaration-property-unit-disallowed-list规则,该规则只会校验指定CSS属性的单位,不会影响其他属性和@规则里的单位使用,配置如下:
{ "rules": { "declaration-property-unit-disallowed-list": { "font-size": ["px"] } } }
该配置只会拦截font-size属性使用px单位的情况,其余所有场景的px单位都会正常放行,完全符合你的需求。
内容的提问来源于stack exchange,提问作者Andrew
相关产品推荐
相关产品推荐

