我有一个看起来像这样的混入:
@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/