Stylelint嵌套声明订单数组

时间:2016-06-29 17:01:38

标签: css arrays stylelint

stylelint中是否可以为规则declaration-block-properties-order嵌套数组?我很好奇,因为我真的希望它强制执行类似于Nicolas Gallagher's 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"
            ],
          },
        ],
      },
    ]

但我不希望它接受保证金,保证金顶部,填充,边距右,填充权限。我想要组织这两个组,但是如果填充或边距组是第一个,则无需关心。

1 个答案:

答案 0 :(得分:3)

  

在stylelint中,是否可以为规则声明-block-properties-order?

嵌套数组

不,这是不可能的。您有两种选择:

  1. Write a plugin提供了这种灵活性。
  2. 要求边距必须在填充之前,或者反之亦然,在CSS代码中。
  3. 我建议将后一个选项作为更具体的属性顺序,团队成员更容易知道在哪里查看属性是否在声明块中使用。