除了单位白名单之外,如何将特定正则表达式列入白名单?

时间:2017-08-14 23:55:26

标签: stylelint

我想允许accs使用但不允许任何其他像素值。这是当前的规则:

gsub('(^.*\\(sec\\)).*', '\\1', '(sec): 0.xxx') ## [1] "(sec)"

2 个答案:

答案 0 :(得分:0)

这当前不是stylelint中的可用选项。您只能忽略单位作为一个整体,而不是单位的特定值,例如允许1px但不允许5px

您可以在stylelint上创建一个新问题,以便与stylelint团队进一步讨论:

  

https://github.com/stylelint/stylelint/issues/new

答案 1 :(得分:0)

与此同时,stylelint支持以下规则:

它于2016年初version 4.3property-value-[black|white]listrenamed to the current rule names in early 2017的形式发货。


如果只想允许 em rem 1px,则可以使用以下规则来实现:

{
  "rules": {
    "declaration-property-unit-whitelist": {
      "/.*/": ["em", "rem", "px"]
    },
    "declaration-property-value-blacklist": {
      "/.*/": ["(\\d+[1]+px|[^1]+px)"]
    }
}
  • 第一个规则列出了您要允许的所有单位的白名单,并加上了我们要专门允许1px px
  • 最后一条规则不允许 px 单位使用除 1 之外的任何值。它还不允许使用11px21px之类的值。
    请注意,这也将与content: 'This item has a height of 9px.'匹配,并且不允许这样做。
  • 两个规则都匹配所有属性。您可能需要通过将正则表达式/.*/更改为更具体的正则表达式来定范围,例如/^border.*/