Stylelint 不尊重 ignoreProperties 中的负前瞻

Stylelint not respecting negative-lookahead in ignoreProperties

我们正在使用 stylelint,并且想要一个禁止将 px 作为一个单元与 font-size 一起使用的规则;但允许它用于任何其他 属性。我们认为这应该有效:

     "unit-disallowed-list": ["px", {
        "ignoreProperties": { "px": ["/^((?!font-size).)*$/"] },
    }],

但它也在其他属性中捕获 px,例如在 @media (min-width: 380px) 中,throwing

✖  Unexpected unit "px"   unit-disallowed-list

有谁知道这有什么问题吗?

或者,如果我们可以只指定我们希望规则应用哪些属性 for,而不是我们希望忽略的所有属性,那就太好了,但我不查看使用 stylelint.

执行此操作的方法

非常感谢任何帮助!

Alternatively, it would be great if we could just specify which properties we want the rule to apply for, rather than all those we wish to ignore, but I don't see a way to do this with stylelint.

您可以使用 declaration-property-unit-disallowed-list rule 来执行此操作:

{ 
  "rules": {
    "declaration-property-unit-disallowed-list": {
      "font-size": ["px"]
    }
  }
}

您可以同时使用 unit-disallowed-listdeclaration-property-unit-disallowed-list 规则,使用前者在您的样式中通常 禁止使用单位 ,而在您需要时使用后者更具体。

您可能还会发现使用允许列表规则比禁止列表规则更有用,尤其是在具体情况下,例如:

{ 
  "rules": {
    "declaration-property-unit-allowed-list": {
      "font-size": ["em", "rem"]
    }
  }
}