css - Stylelint 验证 SCSS mixin 中的声明

标签 css sass lint stylelint

我有一个看起来像这样的混入:

@mixin offset($fraction: 1) {
  @if type-of($fraction) != number or not unitless($fraction) {
    @include error("#{$fraction} is not a unitless number");
  }

  margin-left: percentage($fraction);
}

我还使用此规则设置了 stylelint:

"declaration-empty-line-before": "never"

mixin 和 stylelint 规则都有效。但是,由于 if 语句后的空行,使用此规则会为上述 mixin 抛出错误。我找不到此 stylelint 规则的任何忽略或排除规则,例如 if 语句后除外。这种代码如何在不更改元素中所有声明的规则的情况下进行验证?

最佳答案

尝试反转规则的目标,即:

  • 来自; 从不声明前有一个空行,除非声明出现在 at-rule 之后
  • 到; 总是声明之前有一个空行,除非声明出现在另一个声明之后(或者是第一个嵌套声明)。

以下规则配置直接来自 stylelint-config-standard我相信会满足您的要求:

{
  "rules": {
    "declaration-empty-line-before": [
      "always",
      {
        "except": [
          "after-declaration",
          "first-nested"
        ],
        "ignore": [
          "after-comment",
          "inside-single-line-block"
        ]
      }
    ]
  }
}

引用:the About rules section stylelint 文档。

关于css - Stylelint 验证 SCSS mixin 中的声明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48136489/

相关文章:

css - compass 省略号语法

css - 编写 Sass 函数的正确方法是什么?

c++ - 使用两个枚举的重载解决方案

javascript - 尝试并排显示缩略图 img 与 css 显示 : inline-block

css - 可以缩小 less 或 sass 文件吗

javascript - bxSlider 框架比内容宽

vscode 中的 Python linter,类型检查不完整(预期...得到...)

android - 此处不允许元素忽略,在 Android lint.xml 中

Jquery css 函数不使用映射中的所有参数

html - 创建两个表,中间有空格