vite postcss

PostCSS

  • PostCSS是一款使用JavaScript插件對(duì)CSS實(shí)現(xiàn)轉(zhuǎn)換的工具
  • PostCSS擁有非常強(qiáng)大的插件昂勉,典型的比如autoprefixer淌哟、cssnext褐望、css modules等蝎毡。
  • PostCSS插件的處理方式類(lèi)似CSS預(yù)處理器莱预,而非預(yù)處理器和后處理器丙猬。
  • PostCSS并非優(yōu)化CSS的工具涨颜,語(yǔ)法也并非CSS的新式語(yǔ)法。

Vite自身已經(jīng)集成PostCSS茧球,無(wú)需再次安裝庭瑰。另外也無(wú)需單獨(dú)創(chuàng)建PostCSS配置文件,已集成到vite.config.jscss選項(xiàng)中抢埋〉穑可直接配置css.postcss選項(xiàng)即可督暂。Vite將自動(dòng)在*.vue文件中所有的style標(biāo)簽以及所有導(dǎo)入的.css文件中應(yīng)用PostCSS.

$ vim vite.config.js
import { defineConfig, loadEnv } from 'vite'
import vue from '@vitejs/plugin-vue'

import postcssImport from "postcss-import"
import autoprefixer from 'autoprefixer'
import tailwindcss from 'tailwindcss'


export default ({mode})=>{
  //生成自定義用戶(hù)配置
  return defineConfig({
    //樣式表插件
    css:{
      postcss:{
        plugins:[
          postcssImport,
          autoprefixer,
          tailwindcss
        ]
      }
    }
  })
}

PostCSS插件:嵌套CSS樣式寫(xiě)法解決方案

插件 描述
postcss-import 支持@import寫(xiě)法
postcss-url 支持@url寫(xiě)法
postcss-bem 支持BEM元素規(guī)則命名
postcss-nested 支持類(lèi)選擇器嵌套寫(xiě)法,模擬SASS嵌套選擇器寫(xiě)法穷吮。
postcss-nesting 支持符合W3C規(guī)范的嵌套類(lèi)選擇器寫(xiě)法
postcss-simple-vars 支持變量
postcss-advanced-variables 支持類(lèi)似SASS自定義變量并引用逻翁,實(shí)現(xiàn)編寫(xiě)變量、條件捡鱼、循環(huán)八回。
postcss-preset-env 支持變量運(yùn)算

PostCSS插件:H5移動(dòng)端屏幕適用性解決方案

插件 描述
cssnano 優(yōu)化和壓縮CSS,已包含autoprefixer插件驾诈。
postcss-aspect-ratio-mini 容器比匹配
postcss-cssnext 實(shí)現(xiàn)嵌套編程
postcss-px-to-viewport 將px轉(zhuǎn)換為vw以適應(yīng)各種屏幕
postcss-write-svg 1px細(xì)線(xiàn)的繪制

Import

PostCSS通過(guò)@import將樣式表合并到一起缠诅,當(dāng)需要通過(guò)@import將第三方類(lèi)庫(kù)導(dǎo)入到主樣式表時(shí),首先需要運(yùn)行的是@import插件乍迄。

插件 描述
postcss-import 支持通過(guò)內(nèi)聯(lián)內(nèi)容來(lái)轉(zhuǎn)換@import規(guī)則
postcss-partial-import 讓CSS文件支持@import語(yǔ)法管引,支持W3C的寫(xiě)法,也支持SASS寫(xiě)法闯两。

postcss-import

安裝插件

$ npm ls postcss-import
$ npm info postcss-import
$ npm i -D postcss-import@latest

postcss-partial-import

Autoprefixer

  • Autoprefixer是一個(gè)根據(jù)Can I Use解析CSS并為其添加瀏覽器廠商前綴的PostCSS插件
  • Autoprefixer會(huì)使用基于當(dāng)前瀏覽器支持的特性和屬性為CSS添加前綴

查看項(xiàng)目下是否已經(jīng)安裝過(guò)Autoprefixer

$ npm ls autoprefixer version

使用NPM為Vue項(xiàng)目安裝Autoprefixer

$ npm info autoprefixer versions
$ npm i -D autoprefixer@latest

在PostCSS配置文件post.config.js配置文件的插件屬性中添加Autoprefixer

$ vim postcss.config.js
import autoprefixer from "autoprefixer"

export default {
  plugins:[
    autoprefixer
  ]
}

TaildwindCSS

官方網(wǎng)站:https://www.tailwindcss.cn/docs/plugins

  • Tailwind CSS是一款實(shí)用為主效用優(yōu)先的CSS框架
  • TailwindCSS作為PostCSS插件存在漾狼,將基礎(chǔ)的CSS拆分為原子級(jí)別重慢。
  • PostCSS提供Autoprefixer插件用于補(bǔ)全各種瀏覽器前綴,兼容性更好邦投。

查看項(xiàng)目是否已經(jīng)安裝TailwindCSS

$ npm ls tailwindcss version

使用NPM安裝TailwindCSS

$ npm info tailwindcss versions
$ npm i -D tailwindcss@latest

為PostCSS配置TailwindCSS插件

$ vim postcss.config.js
import postcssImport from "postcss-import"
import autoprefixer from "autoprefixer"
import tailwindcss from "tailwindcss"

export default {
  plugins:[
    postcssImport,
    autoprefixer,
    tailwindcss
  ]
}

配置TailwindCSS獨(dú)立配置文件

$ vim tailwind.config.js
export default {
  
}

安裝VSCode插件

  • Tailwind CSS IntelliSense
  • Tailwind Docs

創(chuàng)建全局應(yīng)用的樣式表伤锚,注意必須引入postcss-import插件以支持@import寫(xiě)法。

$ vim src/assets/css/main.css
@import 'tailwindcss/base';
@import 'tailwindcss/components';
@import 'tailwindcss/utilities';

項(xiàng)目主入口文件中引入全局樣式表

$ vim src/main.js
import "@/assets/css/main.css"

安裝TailwindCSS插件

TailwindCSS提供了可復(fù)用的第三方插件用于擴(kuò)展Tailwind志衣,插件會(huì)注冊(cè)新的樣式屯援,讓Tailwind使用JavaScript代替CSS注入用戶(hù)的樣式表。

$ npm i -D @tailwindcss/forms
$ npm i -D @tailwindcss/typography
$ npm i -D tailwindcss/aspect-ratio
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末念脯,一起剝皮案震驚了整個(gè)濱河市狞洋,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌绿店,老刑警劉巖吉懊,帶你破解...
    沈念sama閱讀 218,451評(píng)論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異假勿,居然都是意外死亡借嗽,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,172評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門(mén)转培,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)恶导,“玉大人,你說(shuō)我怎么就攤上這事浸须〔沂伲” “怎么了邦泄?”我有些...
    開(kāi)封第一講書(shū)人閱讀 164,782評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)裂垦。 經(jīng)常有香客問(wèn)我顺囊,道長(zhǎng),這世上最難降的妖魔是什么蕉拢? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,709評(píng)論 1 294
  • 正文 為了忘掉前任特碳,我火速辦了婚禮,結(jié)果婚禮上企量,老公的妹妹穿的比我還像新娘测萎。我一直安慰自己亡电,他們只是感情好届巩,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,733評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著份乒,像睡著了一般恕汇。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上或辖,一...
    開(kāi)封第一講書(shū)人閱讀 51,578評(píng)論 1 305
  • 那天瘾英,我揣著相機(jī)與錄音,去河邊找鬼颂暇。 笑死缺谴,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的耳鸯。 我是一名探鬼主播湿蛔,決...
    沈念sama閱讀 40,320評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼县爬!你這毒婦竟也來(lái)了阳啥?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 39,241評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤财喳,失蹤者是張志新(化名)和其女友劉穎察迟,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體耳高,經(jīng)...
    沈念sama閱讀 45,686評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡扎瓶,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,878評(píng)論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了泌枪。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片概荷。...
    茶點(diǎn)故事閱讀 39,992評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖工闺,靈堂內(nèi)的尸體忽然破棺而出乍赫,到底是詐尸還是另有隱情瓣蛀,我是刑警寧澤,帶...
    沈念sama閱讀 35,715評(píng)論 5 346
  • 正文 年R本政府宣布雷厂,位于F島的核電站惋增,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏改鲫。R本人自食惡果不足惜诈皿,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,336評(píng)論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望像棘。 院中可真熱鬧稽亏,春花似錦、人聲如沸缕题。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,912評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)烟零。三九已至瘪松,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間锨阿,已是汗流浹背宵睦。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,040評(píng)論 1 270
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留墅诡,地道東北人壳嚎。 一個(gè)月前我還...
    沈念sama閱讀 48,173評(píng)論 3 370
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像末早,于是被迫代替她去往敵國(guó)和親烟馅。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,947評(píng)論 2 355

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

  • 在前端開(kāi)發(fā)中一直有個(gè)原則荐吉,叫做"關(guān)注點(diǎn)分離"焙糟,意思就是各種技術(shù)只負(fù)責(zé)自己的領(lǐng)域,不要混合在一起样屠,形成耦合穿撮,這種原則...
    li4065閱讀 2,745評(píng)論 0 0
  • 1.CSS盒模型,在不同瀏覽器的差異 css 標(biāo)準(zhǔn)盒子模型 css盒子模型 又稱(chēng)為框模型(Box Model)痪欲,包...
    淚滴在琴上閱讀 198評(píng)論 0 2
  • 簡(jiǎn)介:它是什么悦穿? PostCSS自身項(xiàng)目在github上的描述:“PostCSS is a tool for tr...
    Joazer閱讀 1,486評(píng)論 0 1
  • 前言 本靜態(tài)站點(diǎn)用于演示之用,使用 Hugo 構(gòu)建业踢,以及 Markdown 供應(yīng)內(nèi)容栗柒。 流行的靜態(tài)站點(diǎn)框架有以下幾...
    堅(jiān)果jimbowhy閱讀 2,053評(píng)論 3 1
  • PostCss筆記 跨瀏覽器兼容性: 后處理 autoprefixer: 自動(dòng)添加前綴 指定支持的瀏覽器版本 Au...
    rxdxxxx閱讀 2,206評(píng)論 0 0