CSS工程化簡單介紹 PostCSS介紹與外掛程式使用

2021-10-03 00:00:26 字數 2319 閱讀 6959

css工程化在不同公司有不同做法,主要關注四個方面

組織:**的組織,怎麼劃分模組,怎麼更方便合作

優化:**怎樣寫更好,團隊合作中為什麼要這麼做

構建:**的壓縮、上線等等

維護css->postcss解析轉化->css

postcss解析轉化階段可以做的事: 模組化,加字首,相容性等等

postcss本身只有解析能力

各種神器特性全靠外掛程式

目前至少有200多個外掛程式

import 模組合併

autoprefixier自動加字首

cssnano壓縮**

cssnext使用css新特性

precss變數、mixin、迴圈等

安裝

npm install postcss-cli
.

/node_modules/

.bin/postcss src/

01-postcss.css

匯出到目標檔案

.

/node_modules/

.bin/postcss src/

01-postcss.css -o build/

01-postcss.css

postcss.config.js

const autoprefixer =

require

('autoprefixer');

module.exports =)]

};

browsers:

['last 2 versions'

]//適配最近兩個版本瀏覽器

browsers:

['>10%'

]//適配大於10%的瀏覽器

browsers:

['firefox >30'

]//適配firefox大於30的版本

browsers:

['since 2016'

]//適配2023年之後的瀏覽器

我們不用自己查css的瀏覽器適配, 借助postcss新增

browser list

less是按這個**的標準解釋css的

npm install postcss-import

postcss.config.js

const autoprefixer =

require

('autoprefixer');

const atimport =

require

('postcss-import');

module.exports =)]

};

src資料夾下, 02-plugins-main.css的內容

@import

"./02-plugins-module.css"

;.box

02-plugins-module.css的內容

*

執行

.

/node_modules/

.bin/postcss src/

01-postcss.css -o build/

02-plugins-module.css

build資料夾下02-plugins-module.css內解釋結束後產生的內容

*

.box

postcss.config.js

const autoprefixer =

require

('autoprefixer');

const cssnano =

require

('cssnano');

const atimport =

require

('postcss-import');

module.exports =),

cssnano ]}

;

cssnano放在最後

src/02-plugins-module.css的內容

*

body

body

執行

*

body

.box

**壓縮成了一行

#ffffff變成#fff, 兩個body變成乙個body

CSS工程化書寫簡單方式

建立變數書寫格式 變數名稱 具體的值 可以多個值,分隔符是空格 f70 red f71 1px solid f72 0 auto 建立變數書寫格式 ximin 混合器名稱 mixin f73 使用混合器 書寫格式 include 混合器名稱 建立帶參混合器書寫格式 mixin 混合器名稱 引數1,引...

css工程化概述

css工程化概述 css的問題 類名衝突的問題 當你寫乙個css類的時候,你是寫全域性的類呢,還是寫多個層級選擇後的類呢?你會發現,怎麼都不好 過深的層級不利於編寫 閱讀 壓縮 復用 過淺的層級容易導致類名衝突 一旦樣式多起來,這個問題就會變得越發嚴重,其實歸根結底,就是類名衝突不好解決的問題 重複...

css工程化面試題

1.如何解決css模組化的問題 less sass等css預處理器 postcss外掛程式 webpack處理css 2.postcss可以做什麼?其取決於外掛程式可以做什麼 autoprefixer cssnext prescc等相容性處理 import模組合併 css語法檢查,相容性檢查 壓縮檔...