阅读 612

配置stylelint自动书写css顺序

为什么要用stylelint?

css的书写顺序很重要,会影响浏览器的渲染。正确的书写可以减少浏览器的回流,提升浏览器的dom渲染。

配置

安装

npm i stylelint stylelint-config-standard stylelint-order -D
复制代码

新建.stylelintrc.js文件

module.exports = {
    extends: ['stylelint-config-standard'],
    plugins: ['stylelint-order'],
    rules: {
        'no-descending-specificity': null,
        'function-url-quotes': 'always',
        'string-quotes': 'double',
        indentation: 4,
        'unit-case': null,
        'color-hex-case': 'lower',
        'color-hex-length': 'long',
        'rule-empty-line-before': 'never',
        'font-family-no-missing-generic-family-keyword': null,
        'block-opening-brace-space-before': 'always',
        'property-no-unknown': null,
        'no-empty-source': null,
        'selector-pseudo-class-no-unknown': [
            true,
            {
                ignorePseudoClasses: ['deep'],
            },
        ],
        'order/properties-order': [
            'position',
            'top',
            'right',
            'bottom',
            'left',
            'z-index',
            'display',
            'justify-content',
            'align-items',
            'float',
            'clear',
            'overflow',
            'overflow-x',
            'overflow-y',
            'margin',
            'margin-top',
            'margin-right',
            'margin-bottom',
            'margin-left',
            'padding',
            'padding-top',
            'padding-right',
            'padding-bottom',
            'padding-left',
            'width',
            'min-width',
            'max-width',
            'height',
            'min-height',
            'max-height',
            'font-size',
            'font-family',
            'font-weight',
            'border',
            'border-style',
            'border-width',
            'border-color',
            'border-top',
            'border-top-style',
            'border-top-width',
            'border-top-color',
            'border-right',
            'border-right-style',
            'border-right-width',
            'border-right-color',
            'border-bottom',
            'border-bottom-style',
            'border-bottom-width',
            'border-bottom-color',
            'border-left',
            'border-left-style',
            'border-left-width',
            'border-left-color',
            'border-radius',
            'text-align',
            'text-justify',
            'text-indent',
            'text-overflow',
            'text-decoration',
            'white-space',
            'color',
            'background',
            'background-position',
            'background-repeat',
            'background-size',
            'background-color',
            'background-clip',
            'opacity',
            'filter',
            'list-style',
            'outline',
            'visibility',
            'box-shadow',
            'text-shadow',
            'resize',
            'transition',
        ],
    },
}
复制代码

配置package.json

"style": "stylelint 'src/**/*.(vue|css|less)' --fix",
复制代码

下载stylelint插件,配置settings.json

{
    "editor.codeActionsOnSave": { "source.fixAll.stylelint": true }
}
复制代码

忽略stylelint对css的检验

  1. 忽略整个文件,在首行加入 /* stylelint-disable */
/* stylelint-disable */
div{
    width:100px;
}
复制代码
  1. 忽略多行
/* stylelint-disable */
div {
    color: red;
}
/* stylelint-enable */
复制代码
  1. 忽略一行, 在样式前加入 /* stylelint-disable-next-line */ 以忽略该行
#id {
  /* stylelint-disable-next-line */
  color: pink !important;
}
复制代码
复制代码
  1. 在 .stylelintrc.json 內设定需要忽略的文件
{
  ignoreFiles: ["dist/**/*", "src/assets/scss/abc.scss"]
}
复制代码
文章分类
前端
文章标签