web學(xué)習(xí)筆記07-stylelint構(gòu)造及規(guī)則了解

????上一篇文章主要講了stylelint的簡單實用阱飘,這里續(xù)了一片關(guān)于規(guī)則什么的詳細(xì)點(diǎn)的文。

????這篇文章主要是對stylelint的構(gòu)造和規(guī)則虱颗,根據(jù)官網(wǎng)的英文文檔沥匈, 我花了點(diǎn)時間進(jìn)行了簡單的翻譯工作,把主要的意思大概寫了一下忘渔,算是一篇筆記吧高帖。具體的規(guī)則方面有些我就直接用有道翻譯的,因為量太大了畦粮,我自己主要翻譯的就是前半段棋恼,加上規(guī)則的部分內(nèi)容,有道翻譯的沒翻譯好的锈玉,我順道給改了改爪飘。自己寫的demo還沒有完善好,等找時間拉背,我完善之后上傳下师崎。

????其實吧,這個stylelint用起來基本上跟eslint差不多椅棺,也可以跟gulp一塊用犁罩,這個方面我還沒有開始研究,可能明天或者后天會進(jìn)行研究两疚。然后后續(xù)也可能再補(bǔ)上一篇文床估。感覺時間好不夠用,這一天研究研究诱渤,就過去了丐巫。好希望一天是240小時。大家看這篇文章要是有啥不懂的可以去官網(wǎng)查看查看勺美,其實里面有不少內(nèi)容我自己也沒有弄清楚呢递胧,還有待研究,大家要是有興趣的可以跟我一起討論討論赡茸。

stylelint configuration(構(gòu)造)

加載配置對象

????從工程中查找和加載配置項缎脾,一般會從當(dāng)前的工作目錄中,以下面的順序查找可能的來源:

  • package.json里面的stylelint屬性
  • 一個單獨(dú)的.stylelintrc文件
  • 一個stylelint.config.js到處JS對象的文件

????.stylelintrc文件格式可以是JSON占卧,可以是YAML格式的遗菠,你也可以添加文件擴(kuò)展名來指定文件內(nèi)容格式是JSON联喘,YAML,或者是JS格式辙纬。.stylelintrc.json, .stylelintrc.yaml, .stylelintrc.js耸袜。

????你可能需要使用擴(kuò)展,使你的文本編輯器牲平,可以更好地解釋文件堤框,并幫助語法檢查和高亮。

????一旦其中之一被發(fā)現(xiàn)和解析纵柿,搜索將停止蜈抓,該對象將被使用。

配置對象

????配置對象可以有下面這些屬性

rules

1.基本格式

????個人認(rèn)為規(guī)則算是檢查器里極其重要的配置項了昂儒,stylelint有超過一百五十條的規(guī)則沟使,這些規(guī)則沒有是默認(rèn)打開的,都需要自己根據(jù)自己的需要進(jìn)行設(shè)置開啟渊跋。

????規(guī)則屬性是一個對象腊嗡,它的鍵是規(guī)則的名稱,值是規(guī)則配置拾酝。每個規(guī)則配置符合下列格式之一:

  • 單個值(primary option)
  • 一個有兩個值的數(shù)組([primary option,secondary option])
  • null (關(guān)閉規(guī)則)

示例:

{
    "rules": {
        "block-no-empty": null,
        "color-no-invalid-hex": true,
        "comment-empty-line-before": [ "always", {
            "ignore": ["stylelint-commands", "between-comments"],
        } ],
        "declaration-colon-space-after": "always",
        "indentation": ["tab", {
            "except": ["value"]
        }],
        "max-empty-lines": 2,
        "rule-nested-empty-line-before": [ "always", {
            "except": ["first-nested"],
            "ignore": ["after-comment"],
        } ],
        "unit-whitelist": ["em", "rem", "%", "s"]
    }   
}

指定了一個primary option就是打開了一個規(guī)則燕少。

2.在css文件中關(guān)閉規(guī)則

????在css文件中,你可以暫時關(guān)閉某條規(guī)則蒿囤,也可以關(guān)閉所有規(guī)則:

/* stylelint-disable */
a {}
/* stylelint-enable */

????你也可以關(guān)閉個別規(guī)則:

/* stylelint-disable selector-no-id, declaration-no-important   */
#id {
    color: pink !important;
}
/* stylelint-enable */

????在你不需要明確地重新啟用的規(guī)則處客们,你也可以通過/* stylelint-disable-line */關(guān)閉個別行:

#id { /* stylelint-disable-line */
    color: pink !important; /* stylelint-disable-line declaration-no-important */
}

????當(dāng)然你也可以通過/* stylelint-disable-next-line */來關(guān)閉那些你不需要明確重新啟用的下一行規(guī)則:

#id {
    /* stylelint-disable-next-line declaration-no-important */
    color: pink !important;
}

????有些復(fù)雜的,重疊的禁用和啟用模式同樣支持:

/* stylelint-disable */
/* stylelint-enable foo */
/* stylelint-disable foo */
/* stylelint-enable */
/* stylelint-disable foo, bar */
/* stylelint-disable baz */
/* stylelint-enable baz, bar */
/* stylelint-enable foo */
3.嚴(yán)重程度:error & warning

????跟eslint差不多材诽,stylelint也有嚴(yán)重程度的分別底挫,默認(rèn)情況下,所有的規(guī)則都有一個error級別的嚴(yán)重程度脸侥,你可以在配置中通過添加defaultSeverity屬性來改變默認(rèn)值

????要調(diào)整任何具體規(guī)則的嚴(yán)重程度建邓,使用輔助選項severity,可獲得的值有

  • warning
  • error

示例:

// error-level severity examples
{ "indentation": 2 }
{ "indentation": [2] }

// warning-level severity examples
{ "indentation": [2, { "severity": "warning" } ] }
{ "indentation": [2, {
        "except": ["value"],
        "severity": "warning"
    }]
}

不同的情況會使用不同的嚴(yán)重級別睁枕。例如不同的顯示官边,或者不同的退出過程等等。

4.自定義消息

????如果您想在一個規(guī)則被違反譬重,提供自定義消息拒逮,你可以用兩種方式做到這一點(diǎn):提供一個message選項,或者寫一個自定義格式臀规。

????所有的規(guī)則都接受一個次要選項message,如果提供了該選項,意味著將會取代任何默認(rèn)提供的標(biāo)準(zhǔn)信息栅隐。舉個例子塔嬉,以下規(guī)則配置將替代幾個自定義消息:

{
    "color-hex-case": [ "lower", {
        "message": "Lowercase letters are easier to distinguish from numbers"
    } ],
     "indentation": [ 2, {
         "ignore": ["block"],
         "message": "Please use 2 spaces for indentation. Tabs make The Architect grumpy.",
        "severity": "warning"
     } ]
}

如果你想最大程度的進(jìn)行控制玩徊,你應(yīng)該寫自定義格式的規(guī)則。(自定義消息部分的思想我大概理解谨究,但是不怎么會翻譯恩袱。。尷尬胶哲。畔塔。。)

擴(kuò)展

????你的配置可以擴(kuò)展一個現(xiàn)有的配置鸯屿,無論這個配置是你自己的還是第三方的澈吨。當(dāng)一個配置擴(kuò)展了另一個配置,它在被擴(kuò)展的配置項開始的時候開始寄摆,并且添加在其之后或者直接覆蓋當(dāng)前配置谅辣。

????你也可以擴(kuò)展現(xiàn)有配置的陣列,優(yōu)先于陣列中的各項(因此第一項壓倒一切婶恼,第二個項目壓倒一切除了第一項桑阶,以此類推。個人理解就是你一個草民擴(kuò)展了勾邦,你當(dāng)皇帝了蚣录,那你就是老大,比誰都牛眷篇,你要是宰相呢包归,那你就是除了皇帝以外,比誰都厲害铅歼,你要是什么七品芝麻官公壤,除了比你級別高的,你比下面的人都厲害等等椎椰。)厦幅。

????舉個例子,擴(kuò)展下stylelint-config-standard改變縮進(jìn)的標(biāo)簽慨飘,并且關(guān)閉number-leading-zero規(guī)則:

{
    "extends": "stylelint-config-standard",
    "rules": {
        "indentation": "tab",
        "number-leading-zero": null
    }
}

或者用stylelint-config-standard開始确憨,然后在這頂部把myExtendableConfig分層,然后覆蓋縮進(jìn)規(guī)則

{
    "extends": [
        "stylelint-config-standard",
        "./myExtendableConfig"
    ],
    "rules": {
        "indentation": "tab"
    }
}

extends的值是locater,最終是require()瓤的,所以它可以適合用noderequire.resolve()算法的任何格式休弃。這就意味著locater可以是:

  • node_modules模塊的名稱。
  • 絕對文件路徑圈膏。
  • 名為.js或者以.json擴(kuò)展名的文件的相對路徑塔猾,相對于參考配置。

plugins(插件)

????插件是支持方法稽坤,工具集丈甸,非標(biāo)準(zhǔn)CSS功能糯俗,或者非常具體的用例規(guī)則或套由社區(qū)建立規(guī)則。

????想要使用插件睦擂,就添加plugins陣列配置項到你的配置文件中得湘,值可以是一個npm模塊的名字,可以使一個絕對路徑顿仇,也可以是一個調(diào)用配置文件的相對路徑淘正。

{
    "plugins": [
        "../special-rule.js"
    ],
    "rules": {
        "plugin/special-rule": "everything"
    },
}

????一個插件可以提供一個規(guī)則或者一組規(guī)則,如果你用的插件提供了一組規(guī)則臼闻,只需調(diào)用模塊中的插件配置值鸿吆,并且使用它在rules中提供的規(guī)則。

{
    "plugins": [
        "../some-rule-set.js"
    ],
    "rules": {
        "some-rule-set/first-rule": "everything",
        "some-rule-set/second-rule": "nothing",
        "some-rule-set/third-rule": "everything"
    },
}

Processors(處理器)

????處理器是掛鉤到stylelint的管道些阅,修改的道路上的代碼到stylelint并就其出路改變結(jié)果的功能伞剑。

????處理器只能與CLI和節(jié)點(diǎn)的API,而不是與PostCSS插件使用市埋。 (該P(yáng)ostCSS插件會忽略它們黎泣。)

????使用的話,添加processors陣列配置項到配置文件中缤谎,用起來跟擴(kuò)展差不都多抒倚。

{
    "processors": ["stylelint-html-processor"],
    "rules": {..},
}

如果你的處理器有選項,其第一個項目是“定位”和第二項是選擇對象坷澡。

{
    "processors": [
        "stylelint-html-processor",
        [ "some-other-processor", { "optionOne": true, "optionTwo": false } ]
    ],
    "rules": {..}
}

ignoreFiles

????提供一個glob或globs數(shù)組忽略特定文件托呕。

????另一種方法是使用一個.stylelintignore文件,描述如下频敛。

????如果glob是絕對路徑项郊,它們就這樣用。如果他們是相對的斟赚,它們是相對于分析

  • configBasedir
  • 配置文件的路徑着降,如果配置是stylelint發(fā)現(xiàn)的一個加載的文件
  • process.cwd()

這個屬性呢,從擴(kuò)展配置剝離:只有root級別的配置可以忽略文件拗军。

defaultSeverity

????默認(rèn)嚴(yán)重級別

  • error
  • warning

.stylelintignore

????你可以使用.stylelintignore文件(或者指定另一個忽略模式的文件)來忽略特定文件任洞。(另一種方法是使用一個config.ignoreFiles,如上所述)

????在你.stylelintignore文件中的模式必須匹配.gitignore語法发侵。(之后交掏,node-ignore會解析你的模式),這其中的一個含義是刃鳄,在你文件中的模式總是相對于process.cwd()進(jìn)行分析

????stylelint會在process.cwd()中尋找一個.stylelintignore文件盅弛,你還可以指定你的忽略模式的文件路徑(絕對或相對于process.cwd())使用--ignore路徑(在CLI)和ignorePath(在JS)選項。

stylelint rules

????stylelint rules官方地址

????規(guī)則專注于規(guī)范化css,旨在作用于廣大用戶熊尉。除了規(guī)則呢罐柳,還有插件掌腰,插件是由社區(qū)建立狰住,可以支持方法,工具集齿梁,非標(biāo)準(zhǔn)CSS功能催植,或者非常具體的用例規(guī)則算色。

????每一條規(guī)則是獨(dú)立的拜效,默認(rèn)情況下關(guān)閉。規(guī)則也沒有默認(rèn)值崇众。

規(guī)則列表

Color

  • color-hex-case: 指定大寫或小寫十六進(jìn)制的顏色省核。
  • color-hex-length: 指定十六進(jìn)制顏色長或短的符號稿辙。
  • color-named: 需要(如果可能)或不允許命名的顏色。
  • color-no-hex: 不允許十六進(jìn)制的顏色气忠。
  • color-no-invalid-hex: 禁止無效的十六進(jìn)制顏色邻储。

font-family

  • font-family-name-quotes:指定是否引號應(yīng)該圍繞字體系列名稱中使用。

function

  • function-blacklist:指定不允許的功能黑名單
  • function-calc-no-unspaced-operator:計算的函數(shù)中禁止的unspaced執(zhí)行
  • function-comma-newline-after:要求一個新行或函數(shù)的逗號后禁止空白旧噪。
  • function-comma-newline-before: 要求一個新行或函數(shù)的逗號之前不允許空白吨娜。
  • function-comma-space-after: 要求一個空格或函數(shù)的逗號后禁止空白。
  • function-comma-space-before:要求一個空格或函數(shù)的逗號前禁止空白淘钟。
  • function-linear-gradient-no-nonstandard-direction:禁止在線性梯度方向值()宦赠,根據(jù)標(biāo)準(zhǔn)語法是無效的呼叫。
  • function-max-empty-lines: 限制方法中相鄰的空行數(shù)
  • function-name-case: 指定大寫或小寫的函數(shù)名米母。
  • function-parentheses-newline-inside:要求一個新行或函數(shù)的括號內(nèi)不允許空白勾扭。
  • function-parentheses-space-inside: 要求一個空格或函數(shù)的括號內(nèi)不允許空白。
  • function-url-data-uris: 要求或禁止數(shù)據(jù)的URI的URL
  • function-url-no-scheme-relative:不允許文檔相對的URL铁瞒。
  • function-url-quotes: 要求或禁止對于網(wǎng)址報價
  • function-url-scheme-whitelist: 指定允許URL方案的白名單妙色。
  • function-whitelist: 指定允許的功能的白名單。
  • function-whitespace-after: 要求方法后不允許空白精拟。

Number

  • number-leading-zero:要求或分?jǐn)?shù)低于1的數(shù)字禁止前導(dǎo)零燎斩。
  • number-max-precision:限制允許的小數(shù)位數(shù)的數(shù)目。
  • number-no-trailing-zeros: 禁止在數(shù)量尾隨零蜂绎。

String

  • string-no-newline: 禁止在字符串(轉(zhuǎn)義)換行栅表。
  • string-quotes: 指定字串,單或雙引號师枣。

Length

  • length-zero-no-unit: 禁止單位零長度怪瓶。

Time

  • time-no-imperceptible: 禁止動畫和過渡小于或等于100毫秒。

Unit

  • unit-blacklist: 指定不允許使用單位的黑名單践美。
  • unit-case: 指定大寫或小寫的單位洗贰。
  • unit-no-unknown: 禁止未知的單位找岖。
  • unit-whitelist: 指定允許單位的白名單>

Value

  • value-keyword-case: 指定大寫或小寫關(guān)鍵字的值。
  • value-no-vendor-prefix: 不允許供應(yīng)商前綴值敛滋。

Value list

  • value-list-comma-newline-after: 逗號后需要一個換行符或不允許空白值列表许布。
  • value-list-comma-newline-before: 逗號前需要一個換行符或不允許空白值列表。
  • value-list-comma-space-after: 需要一個空格或者逗號后不允許空白值列表绎晃。
  • value-list-comma-space-before:需要一個空格或者逗號前不允許空白值列表蜜唾。
  • value-list-max-empty-lines: 限制相鄰的數(shù)量值列表內(nèi)空行。

Custom property

  • custom-property-empty-line-before: 自定義屬性之前equire或不允許空行庶艾。
  • custom-property-no-outside-root: 不允許自定義屬性以外的:根規(guī)則袁余。
  • custom-property-pattern: 為自定義屬性指定一個模式。

Shorthand property

  • shorthand-property-no-redundant-values:不允許在簡寫屬性冗余值咱揍。

Property

  • property-blacklist: 指定一個不允許屬性的黑名單颖榜。
  • property-case: 為屬性指定小寫或大寫。
  • property-no-unknown: 不允許未知屬性煤裙。
  • property-no-vendor-prefix: 不允許前綴的屬性掩完。
  • property-whitelist: 指定一個白名單允許屬性。

Keyframe declaration

  • keyframe-declaration-no-important: 不允許!important在關(guān)鍵幀聲明积暖。

Declaration

  • declaration-bang-space-after: bang聲明之后需要一個空格或者不允許空白
  • declaration-bang-space-before: bang聲明之前需要一個空格或者不允許空白
  • declaration-colon-newline-after: 冒號后的聲明需要一個換行符或不允許空白藤为。
  • declaration-colon-space-after: 冒號后的聲明需要一個空格或不允許空白。
  • declaration-colon-space-before: 冒號之前的聲明需要一個空格或不允許空白夺刑。
  • declaration-empty-line-before: 要求聲明前不允許空一行缅疟。
  • declaration-no-important: 不允許!important聲明。
  • declaration-property-unit-blacklist: 指定一個黑名單內(nèi)不允許聲明屬性遍愿。
  • declaration-property-unit-whitelist: 指定一個白名單內(nèi)允許聲明屬性存淫。
  • declaration-property-value-blacklist: 指定一個黑名單,不允許在聲明屬性和值對。
  • declaration-property-value-whitelist: 指定一個允許屬性和值對聲明的白名單沼填。

Declaration block

  • declaration-block-no-duplicate-properties: 不允許復(fù)制屬性塊中聲明
  • declaration-block-no-ignored-properties:不允許被忽略是因為另一個屬性值的屬性值相同的規(guī)則桅咆。
  • declaration-block-no-redundant-longhand-properties: 不允許手寫屬性,可以組合成一個簡寫屬性。
  • declaration-block-no-shorthand-property-overrides: 不允許簡寫屬性覆蓋相關(guān)手寫屬性聲明塊坞笙。
  • declaration-block-properties-order: 聲明塊中指定的順序?qū)傩浴?/li>
  • declaration-block-semicolon-newline-after: 要求一個換行符或不允許空白塊分號后岩饼。
  • declaration-block-semicolon-newline-before: 要求一個換行符或不允許空白塊分號之前的聲明。
  • declaration-block-semicolon-space-after: 要求一個空間或不允許空白塊分號后的聲明薛夜。
  • declaration-block-semicolon-space-before: 要求一個空間或不允許空白塊分號之前的聲明
  • declaration-block-single-line-max-declarations: 限制聲明在一行聲明塊的數(shù)量
  • declaration-block-trailing-semicolon: 要求或不允許在聲明塊后面的分號籍茧。

Block

  • block-closing-brace-empty-line-before: 要求或不允許關(guān)閉括號前空一行。
  • block-closing-brace-newline-after: 需要一個換行符或不允許關(guān)閉括號后的空白梯澜。
  • block-closing-brace-newline-before: 需要一個換行符或不允許空白關(guān)閉括號前的塊寞冯。
  • block-closing-brace-space-after: 需要一個空間或不允許關(guān)閉括號后的空白塊。
  • block-closing-brace-space-before: 在關(guān)閉括號前的塊需要一個空格或者不允許空白。
  • block-no-empty: 不允許空塊
  • block-no-single-line: 不允許單行塊
  • block-opening-brace-newline-after: 開括號的塊之后需要新的一行吮龄。
  • block-opening-brace-newline-before: 開括號的塊之后需要一個換行符或不允許空白
  • block-opening-brace-space-after: 開括號的塊之后需要一個空格或不允許空白俭茧。
  • block-opening-brace-space-before: 開括號的塊之前需要一個空格或不允許空白。

Selector

  • selector-attribute-brackets-space-inside: 在括號里的屬性選擇器需要一個空格或者不允許空白漓帚。
  • selector-attribute-operator-blacklist: 指定一個黑名單不允許屬性的操作符母债。
  • selector-attribute-operator-space-after: 需要一個空間或不允許空格后運(yùn)營商在屬性選擇器。
  • selector-attribute-operator-space-before: 需要一個空間或不允許空格內(nèi)運(yùn)營商之前屬性選擇器胰默。
  • selector-attribute-operator-whitelist: 指定一個屬性允許運(yùn)營商的白名單场斑。
  • selector-attribute-quotes: 需要或不允許引用屬性值漓踢。
  • selector-class-pattern: 指定一個模式類選擇符牵署。
  • selector-combinator-space-after: 需要一個空間或不允許空格后的組合子選擇器。
  • selector-combinator-space-before: 需要一個空間或不允許空格前的組合子選擇器喧半。
  • selector-descendant-combinator-no-non-space: 不允許的字符的后代組合子選擇器進(jìn)行技術(shù)改造奴迅。
  • selector-id-pattern: 指定一個模式,id選擇器。
  • selector-max-compound-selectors: 在一個選擇器里面限制復(fù)合選擇器的數(shù)量挺据。
  • selector-max-specificity: 限制的特異性選擇器取具。
  • selector-nested-pattern: 指定一個模式選擇器的規(guī)則嵌套規(guī)則。
  • selector-no-attribute: 不允許屬性選擇器扁耐。
  • selector-no-combinator: 不允許在選擇器組合暇检。
  • selector-no-id: 不允許id選擇器。
  • selector-no-qualifying-type: 不允許符合條件的選擇器的類型婉称。
  • selector-no-type: 不允許類型選擇器块仆。
  • selector-no-universal: Disallow the universal selector.
  • selector-no-vendor-prefix: 不允許選擇器的前綴。
  • selector-pseudo-class-blacklist: 指定一個黑名單禁止偽類選擇器王暗。
  • selector-pseudo-class-case: 為偽類選擇器指定小寫或大寫悔据。
  • selector-pseudo-class-no-unknown: 不允許未知的偽類選擇器。
  • selector-pseudo-class-parentheses-space-inside: 需要一個空格或不允許空格在括號里面的偽類選擇器俗壹。
  • selector-pseudo-class-whitelist: 偽類選擇器允許指定一個白名單科汗。
  • selector-pseudo-element-case: 為偽元素選擇器指定小寫或大寫。
  • selector-pseudo-element-colon-notation: 為適用的偽元素指定單引號或雙冒號符號绷雏。
  • selector-pseudo-element-no-unknown: 不允許未知的偽元素選擇器头滔。
  • selector-root-no-composition: 在選擇器不允許根的構(gòu)成。
  • selector-type-case: 指定小寫或大寫類型選擇器涎显。
  • selector-type-no-unknown: 不允許未知類型選擇器坤检。
  • selector-max-empty-lines: 限制內(nèi)相鄰的空行選擇器的數(shù)量。

Selector list

  • selector-list-comma-newline-after: 需要一個換行符或不允許空白選擇逗號后的列表棺禾。
  • selector-list-comma-newline-before: 逗號前需要一個換行符或不允許空白選擇器列表缀蹄。
  • selector-list-comma-space-after: 需要一個空格或者逗號后不允許空格選擇器列表。
  • selector-list-comma-space-before: 需要一個空格或者逗號前不允許空格選擇器列表。

Root rule

  • root-no-standard-properties: 根規(guī)則內(nèi)不允許標(biāo)準(zhǔn)屬性缺前。

Rule

  • rule-nested-empty-line-before: 需要或不允許嵌套規(guī)則前空一行蛀醉。
  • rule-non-nested-empty-line-before: 需要或不允許non-nested規(guī)則前空一行。

Media feature

  • media-feature-colon-space-after: 需要一個空間或不允許空格在冒號之后媒體的特性衅码。
  • media-feature-colon-space-before: 需要一個空間或不允許空格在冒號之前媒體的特性拯刁。
  • media-feature-name-case: 為媒體特性名稱指定小寫或大寫。
  • media-feature-name-no-unknown: 不允許未知的媒體功能的名字逝段。
  • media-feature-name-no-vendor-prefix: 不允許媒體特性名稱的前綴垛玻。
  • media-feature-no-missing-punctuation: 不允許標(biāo)點(diǎn)non-boolean媒體功能
  • media-feature-parentheses-space-inside: 需要一個空間或不允許空格在括號里面的媒體功能。
  • media-feature-range-operator-space-after: 需要一個空間或不允許空白范圍運(yùn)算符后媒體的特性奶躯。
  • media-feature-range-operator-space-before: 之前需要一個空間或不允許空格符范圍在媒體功能帚桩。

Custom media

  • custom-media-pattern: 為定制媒體查詢名稱指定一個模式。

Media query list

  • media-query-list-comma-newline-after: 需要一個換行符或不允許空格后媒體查詢的逗號分隔列表嘹黔。
  • media-query-list-comma-newline-before: 需要一個換行符或不允許空格之前媒體查詢的逗號分隔列表
  • media-query-list-comma-space-after: 需要一個空間或不允許空格后媒體查詢的逗號分隔列表账嚎。
  • media-query-list-comma-space-before:需要一個空間或不允許空格之前媒體查詢的逗號分隔列表。

At-rule

  • at-rule-blacklist: 不允許at-rules指定一個黑名單儡蔓。
  • at-rule-empty-line-before: 需要或不允許at-rules前空一行郭蕉。
  • at-rule-name-case: 指定at-rules小寫或大寫的名字。
  • at-rule-name-newline-after: at-rule名稱后需要一個換行符喂江。
  • at-rule-name-space-after: 需要一個空格后at-rule名稱召锈。
  • at-rule-no-unknown: 不允許at-rules不明。
  • at-rule-no-vendor-prefix: 不允許at-rules前綴获询。
  • at-rule-semicolon-newline-after: 需要一個換行符之后at-rules的分號涨岁。
  • at-rule-whitelist: 指定允許at-rules的白名單。

stylelint-disable comment

  • stylelint-disable-reason: 需要一個理由stylelint-disable之前或之后的評論發(fā)表評論筐付。

Comment

  • comment-empty-line-before: 需要或不允許評論之前一個空行卵惦。
  • comment-no-empty: 不允許空的評論。
  • comment-whitespace-inside:需要或不允許空格里面的注釋標(biāo)記瓦戚。
  • comment-word-blacklist: 指定一個黑名單內(nèi)不允許的話評論沮尿。

General / Sheet

  • indentation: 指定縮進(jìn)。
  • max-empty-lines: 限制數(shù)量的相鄰的空行较解。
  • max-line-length: 限制線的長度畜疾。
  • max-nesting-depth: 限制的深度嵌套。
  • no-browser-hacks: 不允許瀏覽器黑客,無關(guān)你目標(biāo)的瀏覽器印衔。
  • no-descending-specificity: 不允許選擇器之后覆蓋選擇器的低特異性更高的特異性啡捶。
  • no-duplicate-selectors: 不允許重復(fù)的選擇器。
  • no-empty-source: 不允許空的來源奸焙。
  • no-eol-whitespace: 不允許行尾空白瞎暑。
  • no-extra-semicolons: 不允許額外的分號彤敛。
  • no-indistinguishable-colors: 不允許產(chǎn)品極其接近的顏色相同。
  • no-invalid-double-slash-comments: 不允許雙斜杠注釋(/ /…)不支持CSS了赌。
  • no-missing-end-of-source-newline: 不允許丟失end-of-source換行墨榄。
  • no-unknown-animations: 不允許動畫名稱不對應(yīng)@keyframes聲明。
  • no-unsupported-browser-features: 不允許功能的瀏覽器不支持的目標(biāo)勿她。

官方配置標(biāo)準(zhǔn)文件

stylelint-config-standard

module.exports = {
    "rules": {
        "at-rule-empty-line-before": [ "always", {
        except: [
            "blockless-after-same-name-blockless",
            "first-nested",
            ],
            ignore: ["after-comment"],
        } ],
        "at-rule-name-case": "lower",
        "at-rule-name-space-after": "always-single-line",
        "at-rule-semicolon-newline-after": "always",
        "block-closing-brace-empty-line-before": "never",
        "block-closing-brace-newline-after": "always",
        "block-closing-brace-newline-before": "always-multi-line",
        "block-closing-brace-space-before": "always-single-line",
        "block-no-empty": true,
        "block-opening-brace-newline-after": "always-multi-line",
        "block-opening-brace-space-after": "always-single-line",
        "block-opening-brace-space-before": "always",
        "color-hex-case": "lower",
        "color-hex-length": "short",
        "color-no-invalid-hex": true,
        "comment-empty-line-before": [ "always", {
            except: ["first-nested"],
            ignore: ["stylelint-commands"],
        } ],
        "comment-no-empty": true,
        "comment-whitespace-inside": "always",
        "custom-property-empty-line-before": [ "always", {
             except: [
                "after-custom-property",
                "first-nested",
             ],
            ignore: [
                "after-comment",
                "inside-single-line-block",
            ],
        } ],
        "declaration-bang-space-after": "never",
        "declaration-bang-space-before": "always",
        "declaration-block-no-duplicate-properties": [ true, {
            ignore: ["consecutive-duplicates-with-different-values"],
        } ],
        "declaration-block-no-ignored-properties": true,
        "declaration-block-no-redundant-longhand-properties": true,
        "declaration-block-no-shorthand-property-overrides": true,
        "declaration-block-semicolon-newline-after": "always-multi-line",
        "declaration-block-semicolon-space-after": "always-single-line",
        "declaration-block-semicolon-space-before": "never",
        "declaration-block-single-line-max-declarations": 1,
        "declaration-block-trailing-semicolon": "always",
        "declaration-colon-newline-after": "always-multi-line",
        "declaration-colon-space-after": "always-single-line",
        "declaration-colon-space-before": "never",
        "declaration-empty-line-before": [ "always", {
            except: [
                "after-declaration",
                "first-nested",
            ],
            ignore: [
                "after-comment",
                "inside-single-line-block",
            ],
        } ],
        "function-calc-no-unspaced-operator": true,
        "function-comma-newline-after": "always-multi-line",
        "function-comma-space-after": "always-single-line",
        "function-comma-space-before": "never",
        "function-linear-gradient-no-nonstandard-direction": true,
        "function-max-empty-lines": 0,
        "function-name-case": "lower",
        "function-parentheses-newline-inside": "always-multi-line",
        "function-parentheses-space-inside": "never-single-line",
        "function-whitespace-after": "always",
        "indentation": 2,
        "keyframe-declaration-no-important": true,
        "length-zero-no-unit": true,
        "max-empty-lines": 1,
        "media-feature-colon-space-after": "always",
        "media-feature-colon-space-before": "never",
        "media-feature-name-case": "lower",
        "media-feature-name-no-unknown": true,
        "media-feature-no-missing-punctuation": true,
        "media-feature-parentheses-space-inside": "never",
        "media-feature-range-operator-space-after": "always",
        "media-feature-range-operator-space-before": "always",
        "media-query-list-comma-newline-after": "always-multi-line",
        "media-query-list-comma-space-after": "always-single-line",
        "media-query-list-comma-space-before": "never",
        "no-empty-source": true,
        "no-eol-whitespace": true,
        "no-extra-semicolons": true,
        "no-invalid-double-slash-comments": true,
        "no-missing-end-of-source-newline": true,
        "number-leading-zero": "always",
        "number-no-trailing-zeros": true,
        "property-case": "lower",
        "property-no-unknown": true,
        "rule-nested-empty-line-before": [ "always-multi-line", {
            except: ["first-nested"],
            ignore: ["after-comment"],
        } ],
        "rule-non-nested-empty-line-before": [ "always-multi-line", {
            ignore: ["after-comment"],
        } ],
        "selector-attribute-brackets-space-inside": "never",
        "selector-attribute-operator-space-after": "never",
        "selector-attribute-operator-space-before": "never",
        "selector-combinator-space-after": "always",
        "selector-combinator-space-before": "always",
        "selector-descendant-combinator-no-non-space": true,
        "selector-list-comma-newline-after": "always",
        "selector-list-comma-space-before": "never",
        "selector-max-empty-lines": 0,
        "selector-pseudo-class-case": "lower",
        "selector-pseudo-class-no-unknown": true,
        "selector-pseudo-class-parentheses-space-inside": "never",
        "selector-pseudo-element-case": "lower",
        "selector-pseudo-element-colon-notation": "double",
        "selector-pseudo-element-no-unknown": true,
        "selector-type-case": "lower",
        "selector-type-no-unknown": true,
        "shorthand-property-no-redundant-values": true,
        "string-no-newline": true,
        "unit-case": "lower",
        "unit-no-unknown": true,
        "value-list-comma-newline-after": "always-multi-line",
        "value-list-comma-space-after": "always-single-line",
        "value-list-comma-space-before": "never",
        "value-list-max-empty-lines": 0,
    },
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末袄秩,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子逢并,更是在濱河造成了極大的恐慌之剧,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,907評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件砍聊,死亡現(xiàn)場離奇詭異背稼,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)辩恼,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,987評論 3 395
  • 文/潘曉璐 我一進(jìn)店門雇庙,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人灶伊,你說我怎么就攤上這事『” “怎么了聘萨?”我有些...
    開封第一講書人閱讀 164,298評論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長童太。 經(jīng)常有香客問我米辐,道長,這世上最難降的妖魔是什么书释? 我笑而不...
    開封第一講書人閱讀 58,586評論 1 293
  • 正文 為了忘掉前任翘贮,我火速辦了婚禮,結(jié)果婚禮上爆惧,老公的妹妹穿的比我還像新娘狸页。我一直安慰自己,他們只是感情好扯再,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,633評論 6 392
  • 文/花漫 我一把揭開白布芍耘。 她就那樣靜靜地躺著,像睡著了一般熄阻。 火紅的嫁衣襯著肌膚如雪斋竞。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,488評論 1 302
  • 那天秃殉,我揣著相機(jī)與錄音坝初,去河邊找鬼浸剩。 笑死,一個胖子當(dāng)著我的面吹牛鳄袍,可吹牛的內(nèi)容都是我干的乒省。 我是一名探鬼主播,決...
    沈念sama閱讀 40,275評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼畦木,長吁一口氣:“原來是場噩夢啊……” “哼袖扛!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起十籍,我...
    開封第一講書人閱讀 39,176評論 0 276
  • 序言:老撾萬榮一對情侶失蹤蛆封,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后勾栗,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體惨篱,經(jīng)...
    沈念sama閱讀 45,619評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,819評論 3 336
  • 正文 我和宋清朗相戀三年围俘,在試婚紗的時候發(fā)現(xiàn)自己被綠了砸讳。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,932評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡界牡,死狀恐怖簿寂,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情宿亡,我是刑警寧澤常遂,帶...
    沈念sama閱讀 35,655評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站挽荠,受9級特大地震影響克胳,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜圈匆,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,265評論 3 329
  • 文/蒙蒙 一漠另、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧跃赚,春花似錦笆搓、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,871評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至嘹锁,卻和暖如春葫录,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背领猾。 一陣腳步聲響...
    開封第一講書人閱讀 32,994評論 1 269
  • 我被黑心中介騙來泰國打工米同, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留骇扇,地道東北人。 一個月前我還...
    沈念sama閱讀 48,095評論 3 370
  • 正文 我出身青樓面粮,卻偏偏與公主長得像少孝,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子熬苍,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,884評論 2 354

推薦閱讀更多精彩內(nèi)容