1

stylelint中是否可以为规则嵌套数组declaration-block-properties-order?我很好奇,因为我真的很想让它强制执行类似于Nicolas Gallagher 的 Idiomatic CSS的声明顺序的声明顺序。但是,我真的不在乎填充或边距是否排在第一位。

我知道我可以通过这条规则轻松做到这一点......

"declaration-block-properties-order":
    [
      {
        properties: [
          "position",
          "top",
          "right",
          "bottom",
          "left",
          "z-index"
        ],
      },
      {
        order: "flexible",
        properties: [
          "padding",
          "margin"
        ],
      },
    ]

但是...我要做的是指定填充和边距组的顺序,因此边距、边距顶部、边距右、边距底部和边距左只能按此顺序排列,填充相同..但不在乎哪个组是第一个。我试过嵌套数组,但我不确定这是否可行或者我的语法错误。

"declaration-block-properties-order":
    [
       {
        order: "flexible",
        properties: [
          {
            properties: [
              "margin",
              "margin-top",
              "margin-right",
              "margin-bottom",
              "margin-left"
            ],
          },
          {
            properties: [
              "padding",
              "padding-top",
              "padding-right",
              "padding-bottom",
              "padding-left"
            ],
          },
        ],
      },
    ]

但我不希望它接受 margin、margin-top、padding、margin-right、padding-right。我希望组织这两个组,但不在乎填充或边距组是第一个。

4

1 回答 1

3

在 stylelint 中是否可以为规则声明-块-属性-顺序嵌套数组?

不,这是不可能的。你有两个选择:

  1. 编写一个提供这种灵活性的插件。
  2. 在 CSS 代码中要求边距必须在填充之前,反之亦然。

我推荐后一个选项,因为您的属性顺序越具体,团队成员就越容易知道在哪里查看某个属性是否正在声明块中使用。

于 2016-06-29T18:05:10.337 回答