SASS和SCSS標(biāo)簽詳解與scoped局部和全局的使用

首先,學(xué)會(huì)使用sass:

1.先下載和安裝node-sass和一些加載器

$ cnpm install sass-loader node-sass vue-style-loader --D

2.配置webpake加載器:webpack.base.config.js //從這一段上面是默認(rèn)的!不用改眉孩!下面是沒有的需要你手動(dòng)添加上渴,相當(dāng)于是編譯識(shí)別sass!

{ test: /\.scss$/, loaders: ["style", "css", "sass"] }

3.在需要用到sass的地方添加lang=scss

<style lang="scss" scoped> 蝉稳。破婆。啄巧。寻歧。。秩仆。码泛。 <style>


以上是獨(dú)立裝sass的過程,一般項(xiàng)目在構(gòu)建的時(shí)候會(huì)在package.json里面提前引入了node-sass和加載器澄耍,webpack也默認(rèn)配置了加載器噪珊,具體參考項(xiàng)目里面的配置晌缘。

sass和scss

注意:sass和scss是兩個(gè)不同的東西!只是相似痢站!sass借鑒了ruby語言的規(guī)范很嚴(yán)格磷箕!代碼里面也沒有大括號(hào)!這對(duì)于習(xí)慣用css{}的前端人員很難適應(yīng)阵难!于是就出現(xiàn)了scss!完美兼容css!還能有sass的功能岳枷! 如果用的是webpack-simple模版用sass的話就是lang="sass",sass是沒有{}括號(hào)的,如果有{}會(huì)抱錯(cuò)呜叫。 webpack模版的話就是用lang="scss"


以下是關(guān)于sass的引入和使用嫩舟,下面討論一些關(guān)于sass在項(xiàng)目里面如何結(jié)構(gòu)化,和模塊化的使用:

1:分散式(參考大部分的后臺(tái)系統(tǒng)) 分散式是vue官網(wǎng)推薦的一種方式怀偷,就是每個(gè)模塊是一個(gè)獨(dú)立的.vue文件,里面包含template模版播玖,js椎工,css,這三種都用標(biāo)簽封裝起來蜀踏,成為一個(gè)vue實(shí)例维蒙,實(shí)例解析的時(shí)候逐步解析每個(gè)標(biāo)簽的內(nèi)容,所以這個(gè)vue文件里面的sass是局部的果覆,只有這個(gè)實(shí)例界面生效颅痊,一般在標(biāo)簽上面加scoped來局部化,去掉scoped就會(huì)變成全局樣式局待。

【好處:】每個(gè)vue界面樣式獨(dú)立開發(fā)斑响,互不影響,定位問題和改界面樣式的話都比較方便钳榨,好找

【弊端:】界面被scoped局部化之后舰罚,不能覆蓋界面里面的子組件樣式,因?yàn)闃邮街粚?duì)當(dāng)前界面生效薛耻。(可以加/deep/解決)

【公共樣式和變量:】公共樣式和公共變量一般定義在外面营罢,每個(gè)界面要用的時(shí)候都需要引入(import)

2:集中式(參考大部分的前臺(tái)系統(tǒng)) 集中就是把所有模塊的樣式都抽離出來做獨(dú)立的.scss文件,每個(gè)模塊里面不寫scss標(biāo)簽饼齿,寫一個(gè)公共的scss文件(app.scss)把所有模塊的樣式按照順序都引入一遍(先引公共變量饲漾,在引公共樣式,最后引入每個(gè)模塊)缕溉,最后在app.vue里面或者main.js主入口里面import app.scss考传。最后界面就一個(gè)style標(biāo)簽

【好處:】所有樣式集中管理,樣式之間可以互相覆蓋倒淫,可以隨意覆蓋子組件樣式伙菊,公共變量和公共樣式可以隨意使用败玉。

【弊端:】所有模塊都需要獨(dú)立的樣式文件,導(dǎo)致樣式文件過多不好管理镜硕,互相覆蓋容易產(chǎn)生bug(為了不互相覆蓋运翼,每個(gè)樣式都需要寫在 父樣式的嵌套里面,引入的時(shí)候也需要注意順序)兴枯,

【公共樣式和變量:】公共樣式和公共屬性會(huì)在引入根樣式文件(app.scss)里面第一個(gè)引入血淌,這樣后面引入的樣式就可以隨意使用。


關(guān)于sass里面怎么定義全局的變量上述的公共樣式就是一個(gè)解決方案财剖,不過看到一些其他解決方案悠夯,也可以參考下:https://www.imooc.com/article/28195

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市躺坟,隨后出現(xiàn)的幾起案子沦补,更是在濱河造成了極大的恐慌,老刑警劉巖咪橙,帶你破解...
    沈念sama閱讀 216,997評(píng)論 6 502
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件夕膀,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡美侦,警方通過查閱死者的電腦和手機(jī)产舞,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,603評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來菠剩,“玉大人易猫,你說我怎么就攤上這事【咦常” “怎么了准颓?”我有些...
    開封第一講書人閱讀 163,359評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長嘴办。 經(jīng)常有香客問我瞬场,道長,這世上最難降的妖魔是什么涧郊? 我笑而不...
    開封第一講書人閱讀 58,309評(píng)論 1 292
  • 正文 為了忘掉前任贯被,我火速辦了婚禮,結(jié)果婚禮上妆艘,老公的妹妹穿的比我還像新娘彤灶。我一直安慰自己,他們只是感情好批旺,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,346評(píng)論 6 390
  • 文/花漫 我一把揭開白布幌陕。 她就那樣靜靜地躺著,像睡著了一般汽煮。 火紅的嫁衣襯著肌膚如雪搏熄。 梳的紋絲不亂的頭發(fā)上棚唆,一...
    開封第一講書人閱讀 51,258評(píng)論 1 300
  • 那天,我揣著相機(jī)與錄音心例,去河邊找鬼宵凌。 笑死,一個(gè)胖子當(dāng)著我的面吹牛止后,可吹牛的內(nèi)容都是我干的瞎惫。 我是一名探鬼主播,決...
    沈念sama閱讀 40,122評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼译株,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼瓜喇!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起歉糜,我...
    開封第一講書人閱讀 38,970評(píng)論 0 275
  • 序言:老撾萬榮一對(duì)情侶失蹤乘寒,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后匪补,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體肃续,經(jīng)...
    沈念sama閱讀 45,403評(píng)論 1 313
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,596評(píng)論 3 334
  • 正文 我和宋清朗相戀三年叉袍,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片刽酱。...
    茶點(diǎn)故事閱讀 39,769評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡喳逛,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出棵里,到底是詐尸還是另有隱情润文,我是刑警寧澤,帶...
    沈念sama閱讀 35,464評(píng)論 5 344
  • 正文 年R本政府宣布殿怜,位于F島的核電站典蝌,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏头谜。R本人自食惡果不足惜骏掀,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,075評(píng)論 3 327
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望柱告。 院中可真熱鬧截驮,春花似錦、人聲如沸际度。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,705評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽乖菱。三九已至坡锡,卻和暖如春蓬网,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背鹉勒。 一陣腳步聲響...
    開封第一講書人閱讀 32,848評(píng)論 1 269
  • 我被黑心中介騙來泰國打工帆锋, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人贸弥。 一個(gè)月前我還...
    沈念sama閱讀 47,831評(píng)論 2 370
  • 正文 我出身青樓窟坐,卻偏偏與公主長得像,于是被迫代替她去往敵國和親绵疲。 傳聞我的和親對(duì)象是個(gè)殘疾皇子哲鸳,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,678評(píng)論 2 354

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