大多数的规则是让你选择你想要什么、禁止什么,如number-leading-zero: string - "always"|"never"
-
No rules
但是,有少部分包含
*-no-*的规则只能禁止。比block-no-empty, 这种规则没值,也没必要有值。 -
Max-min rules
还有一部分包含
*-max/min-*的规则,用于设定一个限制。它的值是int。如:number-max-precision -
Whitespace rules
规定用empty line,还是 a single space,还是a newline,还是 no space。
这类规则的key的关键字是
-
指定插入位置:
before,after,inside -
指定插入什么:
empty-line,space,newline
-
指定被插入的对象
例如function、comment。也可以具体指定他们的更精细位置,如
function-comma。标点符号还有:
comma(逗号),colon(冒号),semiconlon(分号),open-brace(左大括号),closing-brace(右大括号),opening-parenthesis(左圆括号),closing-parenthesis(右圆括号),operator,orange-operator,parentheses(圆括号)
这类规则的key的组成是:被插入的对象+被插入对象再精细+空白符号类型+插入位置。
如:
function-comma-space-after -
- key的组成
the thing + what the rule is checking -> number(数字)-leading-zero(要检验数字的什么)
-
值的组成
-
一个option:primary option。
allow,never,disallow
-
多个option:
[primary option, second option(obj)] -> "indentation": ["tab", { "except": ["value"] }]
awlays-multi-line指的是css多行的时候,才校验。
- second option
- except:不包括。
- after-custom-property
- first-nested
- after-declaration
- after-comment
- except:不包括。
- second option
-
stylelint里面只有empty-line-before,没有empty-line-after,这是因为每个元素都只负责和它前一个元素的距离。
-
color-no-invalid-hex无效的颜色 -
color-named 是否允许用单词作为color的值。比如:red, black等
-
color-no-hex 不允许16进制的颜色
-
error
a { color: #000 } -
right:
a { color: black }
-
font-family-no-duplicate-names不允许重复定义名字font-family-no-missing-generic-family-keyword不允许未设置默认的字体
-
function-calc-no-unspaced-operatorcalc方法的参数中,操作符前后必须有空白字符-
error
a { top: calc(1px+2px); } -
right
a { top: calc(1px + 2px); }
-
-
function-linear-gradient-no-nonstandard-direction
Standard direction 是以下其中一条:
-
一个角度
-
to + 一个角落(top right) 或者一条边(top、right)
如:to top、to top right
常见的错误用法是只有角落/边,却没有加to; 或者没有加deg
-
error
.foo { background: linear-gradient(top, #fff, #000); }.foo { background: linear-gradient(to top top, #fff, #000); }.foo { background: linear-gradient(45, #fff, #000); } -
right
.foo { background: linear-gradient(to top, #fff, #000); }.foo { background: linear-gradient(45deg, #fff, #000); } -
function-blacklist 可以使用的函数黑名单
-
function-whitelist 可以使用的函数白名单
-
function-url-no-scheme-relative 不允许**//**开头的地址
url scheme - 网络协议,如ftp,http
A scheme-relative url is a url that begins with
//followed by a host. -
functiton-url-scheme-blacklist 协议黑名单
-
function-url-scheme-whitelist 协议白名单
- String-no-newline 在字符串中不允许空行
-
unit-no-unknow 不允许未知的单位
第一选项:true
第二选项:
ignoreUnits: ["/regex/", "string"] -
unit-blacklist 单位白名单
-
unit-whitelist 单位黑名单
-
keyframe-declaration-no-important: 在keyframe中不允许使用·important-
error
@keyframes important1 { from { margin-top: 50px; } to { margin-top: 100px ! important; } }
-
-
declaration-bang-space-after:在高优先级声明符号(!important中的!)后面指定一个空格或禁止留有空格
-
declaration-bang-space-before: 在高优先级声明符号(!important中的!)前面指定一个空格或禁止留有空格
-
declaration-colon-newline-after: 在声明冒号后要求一个换行符或不允许空白块,建议:"always-multi-line"
-
a { color: pink; }
a { box-shadow: 0 0 0 1px #5b9dd9, 0 0 2px 1px rgba(30, 140, 190, 0.8); } a { color: pink; } -
-
declaration-colon-space-after: 在声明冒号后要求一个空格或禁止空格
-
declaration-colon-space-before:在声明冒号前面要求一个空格或禁止空格
-
declaration-empty-line-before: 在属性声明之前要求或禁止空行
-
declaration-block-no-duplicate-properties在样式块中不允许重复的属性-
error
a { color: pink; color: orange; }
-
-
declaration-block-no-shorthand-property-overrides样式块中不允许使用属性值缩写来覆盖属性-
error
a { border-top-width: 1px; top: 0; bottom: 3px; border: 2px solid blue; }
-
right
a { padding: 10px; padding-left: 20px; }
-
-
declaration-block-semicolon-newline-after: 声明之间的分号后指定或禁止一个换行符
-
declaration-block-semicolon-newline-before: 声明之间的分号前面指定或禁止一个换行符
-
declaration-block-semicolon-space-after: 声明之间的分号后面指定或禁止一个空格
-
declaration-block-semicolon-space-before: 声明之间的分号前面指定或禁止一个空格
-
declaration-block-trailing-semicolon: 在声明块最后一个声明指定或禁止分号
- block-no-empty 不允许空白的块
- block-closing-brace-empty-line-before: 在块结束符号( '}' )前面要求或者禁止空行
- block-closing-brace-newline-after: 在块结束符号( '}' )后面要求或者禁止空行
- block-closing-brace-newline-before: 在块结束符号( '}' )前面规定一个换行或者禁止换行
- block-closing-brace-space-after: 在块结束符号( '}' )前面规定一个换行或者禁止换行
- block-closing-brace-space-before: 在块结束符号( '}' )前面规定一个空格或者禁止空格
- block-opening-brace-newline-after: 在块开始符号( '{' )后面规定一个换行或者禁止换行,option自行查阅
- block-opening-brace-newline-before: 在块开始符号( '{' )前面规定一个换行或者禁止换行,option自行查阅
- block-opening-brace-space-after: 在块开始符号( '{' )后面规定一个空格或者禁止空格,option自行查阅
- block-opening-brace-space-before: 在块开始符号( '{' )前面面规定一个空格或者禁止空格
selector-pseudo-class-no-unknown不允许使用未知的伪类selector-pseudo-element-no-unknown不允许使用未知的伪元素selector-type-no-unknown不允许使用未知的元素类型- selector-attribute-brackets-space-inside: 在属性选择器的括号之间要求空格或者禁止空格
- selector-attribute-operator-space-after: 属性选择器中在操作符(‘=’)后面要求或者禁止空格
- selector-attribute-operator-space-before: 属性选择器中在操作符(‘=’)前面要求或者禁止空格
- selector-attribute-quotes: 属性选择器中属性值要求或者禁止加单引号或双引号
- selector-combinator-space-after: 在组合选择器之间的符号后要求空格或者禁止空格
- selector-combinator-space-before: 在组合选择器之间的符号前面要求空格或者禁止空格
- selector-descendant-combinator-no-non-space: 组合选择器之前禁止多余的空格或空行
- selector-pseudo-class-case: 伪类选择器小写或大写
- selector-pseudo-class-parentheses-space-inside: 伪类选择器的括号之间需要或者禁止空格
- selector-pseudo-element-case: 伪元素选择器小写或大写
- selector-pseudo-element-colon-notation: 伪元素单或双冒号
- selector-type-case: 类型选择器小写或大写
- selector-list-comma-newline-after: .在选择器列表的逗号后指定一个换行符或禁止留有空格
- selector-list-comma-newline-before: 在选择器列表的逗号前面指定一个换行符或禁止留有空格,option自行查阅
- selector-list-comma-space-after: 在选择器列表的逗号后指定一个空格或禁止留有空格,option自行查阅
- selector-list-comma-space-before: 在选择器列表的逗号前指定一个空格或禁止留有空格,option自行查阅
-
media-feature-name-no-unknown 不允许使用未知的媒体查询
- error
@media screen and (unknown: 10px) {} - right
@media (min-width: 700px) {}
- error
-
media-feature-colon-space-after: 在媒体特性的冒号(@media (max-width:600px) {} 中的:)后指定一个空格或禁止留有空格
-
media-feature-colon-space-before: 在媒体特性的冒号(@media (max-width:600px) {} 中的:)前面指定一个空格或禁止留有空格
-
media-feature-name-case: 媒体特性名称小写或大写
-
media-feature-parentheses-space-inside: 媒体特征的括号之间需要一个空格或者禁止空格。
-
media-feature-range-operator-space-after: 在媒体特性的运算符(@media (width>=600px) {} 中的>=)后指定一个空格或禁止留有空格
-
media-feature-range-operator-space-before: 在媒体特性的运算符(@media (width>=600px) {} 中的>=)前面指定一个空格或禁止留有空格
- media-query-list-comma-newline-after: 在媒体查询列表的逗号(@media screen and (color), projection and (color) {}中的,)后指定一个换行符或禁止留有空格
- media-query-list-comma-newline-before: 在媒体查询列表的逗号(@media screen and (color), projection and (color) {}中的,)前面指定一个换行符或禁止留有空格
- media-query-list-comma-space-after:在媒体查询列表的逗号后指定一个空格或禁止留有空格
- media-query-list-comma-space-before: 在媒体查询列表的逗号前指定一个空格或禁止留有空格
- rule-empty-line-before: 声明块之间前面要求或者禁止空行
- At-rule-no-unknow 不允许未知的@使用
- error
@unknown {} - right
@charset "UTF-8"
- error
- at-rule-empty-line-before: 在@规则前要求或禁止一个空行
- at-rule-name-case: 规定@规则名大写或者小写
- at-rule-name-newline-after: 在@规则名后面要求一个换行 "always"|"always-single-line"
- at-rule-name-space-after: 在@规则名后面要求一个空格
- at-rule-semicolon-newline-after: 在@规则分号后面要求一个换行 "always"
- at-rule-semicolon-space-before: 在@规则分号前面要求或者禁止空格
- comment-no-empty 不允许空白的注释
- comment-empty-line-before: 在注释后面要求或禁止空行
- comment-whitespace-inside: 在注释里面要求或者禁止空格
-
no-descending-specificity 不允许选择器权重递减书写
-
error
.container a { top: 10px; } a { top: 0; }
-
right
a { top: 0; } .container a { top: 10px; }
-
-
no-duplicate-at-import-rules 不允许重复的导入(@import)
-
error
@import "a.css"; @import 'a.css';
-
-
no-duplicate-selectors 不允许重复的选择器
-
error
a { color: red; } a { font-size: 12px; }
-
right
a { color: red; font-size: 12px; }
-
-
no-empty-source 不允许空白字符
- error
\n,\t\t
- error
-
no-extra-semicolons 不允许额外的封号(一个就够了)
-
no-invalid-double-slash-comments 不允许双斜杠注释(因为css中没有双斜杠注释)
-
Number-max-precision 限制小数点的最大精度(小数点后几位)
若设置为2
- error
a { top: 3.2544px } - right
a { top: 3.22px }
- error
- Time-min-milliseconds 能设置的最小毫秒数
- shorthand-property-no-redundant-values 缩写的属性值中不允许有冗余的值(能缩写就缩写)。
- error
a { padding: 10px 10px }
- error
- value-no-vendor-prefix 属性值不允许带有浏览器前缀
- error
a { display: -webkit-flex; } - right
a { dispaly: flex; }
- error
- value-keyword-case: 对属性值规定大写或者小写 string: "lower"|"upper", 建议: lower
-
value-list-comma-newline-after: 在值列表的逗号后面指定一个换行符或禁止留有空格,
options:"always", "always-multi-line", "never-multi-line"
-
value-list-comma-newline-before: 在值列表的逗号前面指定一个换行符或禁止留有空格
options:同上
-
value-list-comma-space-after: 在值列表的逗号后指定一个空格或禁止留有空格
Options:"always", "never", "always-single-line", "never-single-line"
-
value-list-comma-space-before: 在值列表的逗号前指定一个空格或禁止留有空格
Options:同上
-
value-list-max-empty-lines: Limit the number of adjacent empty lines within value lists.限制相邻的数量值列表内空行最大数量
Options: int型(0,1.....)
-
custom-property-pattern 为自定义属性指定一个格式。
若设置为
"foo-.+"- error:
root { --boo-bar: 0; } - right:
:root { --foo-bar: 0; }
- error:
-
custom-property-empty-line-before: 在用户自定义属性前面不允许或要求空行
-
property-blacklist 属性key白名单
-
property-whitelist 属性key白名单
-
Property-no-vendor-prefix 属性key不允许有浏览器前缀
-
property-no-unknown 不允许未知的属性
-
property-case: Specify lowercase or uppercase for properties. 规定属性要么大写要么小写, 建议: lower
- indentation: 指定缩进
- max-empty-lines: 限制相邻的空行数
- Options int型
- Optional secondary options
- [ignore: "comments"]
- max-line-length:限制每行的长度
- Options int型
- Optional secondary options
- [ignore: "non-comments"]
- [ignore: "comments"]
- ignorePattern: "/regex/"
- no-eol-whitespace: 禁止行尾留有空白
- no-missing-end-of-source-newline: 要求样式表后面一个空行