無星的前端之旅(二十五)—— sass的一些用法

背景

項目中總是遇到class取名難推励,樣式到處定義,重復(fù)顏色到處寫夸溶,代碼切換煩得一批

一.dart-sass吴旋,node-sass

使用dart-sass损肛,廢棄node-sass

二.Vue項目中色板的使用

在全局css文件中厢破,新建一個文件,放置各種scss變量

例如:

src/styles/variables.scss

$moedu-background-color: #F5F7FA;

配置vue.config.js,將整個變量文件注入

//vue.config.js
module.exports = {
  // …………省略其他配置
  css: {
    loaderOptions: {
      scss:{
        additionalData: '@import "@/styles/variables.scss";'
      }
    }
  },
}

在任意vue文件中治拿,可直接使用$moedu-background-color變量摩泪,無需引入

<template>
  <div class="main">
    <p>123<p>
    <p>456<p>
  </div>
</template>

<style lang="scss" scoped>
.main{
  background-color: $moedu-background-color;
}
</style>

三.定義布局class

有的時候,頁面只是為了寫一些布局劫谅,需要專門定義一個class名见坑,非常費(fèi)事

例如

<template>
  <div class="main">
    <p>123<p>
    <p>456<p>
  </div>
</template>

<style lang="scss" scoped>
.main{
  display:flex;
  flex:1;
  flex-direction: column;
}
</style>

如果寫好一些共用的

.flex {
  display: flex;
}
.flex1 {
  flex: 1;
}
.row {
  flex-direction: row;
}
.column {
  flex-direction: column;
}
.justify-content-center {
  justify-content: center;
}
.justify-content-flex-end {
  justify-content: flex-end;
}
.justify-content-flex-start {
  justify-content: flex-start;
}
.justify-content-space-between {
  justify-content: space-between;
}
.align-items-center {
  align-items: center;
}
.align-items-baseline {
  align-items: baseline;
}
.align-items-flex-start {
  align-items: flex-start;
}
.align-items-flex-end {
  align-items: flex-end;
}

則可以改成

<template>
  <div class="flex flex1 flex-direction-column">
    <p>123<p>
    <p>456<p>
  </div>
</template>

<style lang="scss" scoped>

</style>

四.煩人的margin與padding

同上述,mariginpadding經(jīng)常性要定義class去寫捏检,煩得一批荞驴,相同的要定義很多次

例如:

<template>
  <div class="flex flex1 flex-direction-column">
    <p class="p1">123<p>
    <p class="p2">456<p>
  </div>
</template>

<style lang="scss" scoped>
.p1{
  margin-top:20px;
}
.p2{
  margin-top:30px;
}
</style>

我們通過一些函數(shù),生成這些東西

// 填寫需要的邊距
$margins: (4,8,10,16,24);

@for $i from 1 through length($margins) {
  $item: nth($margins, $i);
  // .w#{$item}px {
  //   width: #{$item}px;
  // }
  .margin-#{$item}{
    margin: #{$item}px;
  }

  .margin-left-#{$item} {
    margin-left: #{$item}px;
  }

  .margin-top-#{$item} {
    margin-top: #{$item}px;
  }

  .margin-bottom-#{$item} {
    margin-bottom: #{$item}px;
  }

  .margin-right-#{$item} {
    margin-right: #{$item}px;
  }

  .padding-#{$item}{
    padding: #{$item}px;
  }

  .padding-left-#{$item} {
    padding-left: #{$item}px;
  }

  .padding-top-#{$item} {
    padding-top: #{$item}px;
  }

  .padding-bottom-#{$item} {
    padding-bottom: #{$item}px;
  }

  .padding-right-#{$item} {
    padding-right: #{$item}px;
  }
  
}

則可以修改為

<template>
  <div class="flex flex1 flex-direction-column">
    <p class="margin-top-20">123<p>
    <p class="margin-top-30">456<p>
  </div>
</template>

有點(diǎn)tailwindcss的味道

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末贯城,一起剝皮案震驚了整個濱河市熊楼,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌能犯,老刑警劉巖鲫骗,帶你破解...
    沈念sama閱讀 207,113評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異踩晶,居然都是意外死亡执泰,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,644評論 2 381
  • 文/潘曉璐 我一進(jìn)店門渡蜻,熙熙樓的掌柜王于貴愁眉苦臉地迎上來术吝,“玉大人,你說我怎么就攤上這事茸苇《傥” “怎么了?”我有些...
    開封第一講書人閱讀 153,340評論 0 344
  • 文/不壞的土叔 我叫張陵税弃,是天一觀的道長。 經(jīng)常有香客問我凑队,道長则果,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,449評論 1 279
  • 正文 為了忘掉前任漩氨,我火速辦了婚禮西壮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘叫惊。我一直安慰自己款青,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,445評論 5 374
  • 文/花漫 我一把揭開白布霍狰。 她就那樣靜靜地躺著抡草,像睡著了一般饰及。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上康震,一...
    開封第一講書人閱讀 49,166評論 1 284
  • 那天燎含,我揣著相機(jī)與錄音,去河邊找鬼腿短。 笑死屏箍,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的橘忱。 我是一名探鬼主播赴魁,決...
    沈念sama閱讀 38,442評論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼钝诚!你這毒婦竟也來了颖御?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,105評論 0 261
  • 序言:老撾萬榮一對情侶失蹤敲长,失蹤者是張志新(化名)和其女友劉穎郎嫁,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體祈噪,經(jīng)...
    沈念sama閱讀 43,601評論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡震捣,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,066評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了员串。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片喷屋。...
    茶點(diǎn)故事閱讀 38,161評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖月褥,靈堂內(nèi)的尸體忽然破棺而出弛随,到底是詐尸還是另有隱情,我是刑警寧澤宁赤,帶...
    沈念sama閱讀 33,792評論 4 323
  • 正文 年R本政府宣布舀透,位于F島的核電站,受9級特大地震影響决左,放射性物質(zhì)發(fā)生泄漏愕够。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,351評論 3 307
  • 文/蒙蒙 一佛猛、第九天 我趴在偏房一處隱蔽的房頂上張望惑芭。 院中可真熱鬧,春花似錦继找、人聲如沸遂跟。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,352評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽幻锁。三九已至凯亮,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間越败,已是汗流浹背触幼。 一陣腳步聲響...
    開封第一講書人閱讀 31,584評論 1 261
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留究飞,地道東北人置谦。 一個月前我還...
    沈念sama閱讀 45,618評論 2 355
  • 正文 我出身青樓,卻偏偏與公主長得像亿傅,于是被迫代替她去往敵國和親媒峡。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,916評論 2 344

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

  • 我們先來解決在工作中可能會遇到跟sass有關(guān)的幾個問題: 問題一:如果在編譯sass的時候出現(xiàn) zsh: comm...
    愿你如夏日清涼的風(fēng)閱讀 1,284評論 0 1
  • 一葵擎、概念介紹 Vue.js和React.js分別是目前國內(nèi)和國外最火的前端框架谅阿,框架跟類庫/插件不同,框架是一套完...
    劉遠(yuǎn)舟閱讀 1,036評論 0 0
  • 一:什么是閉包酬滤?閉包的用處签餐? (1)閉包就是能夠讀取其他函數(shù)內(nèi)部變量的函數(shù)。在本質(zhì)上盯串,閉包就 是將函數(shù)內(nèi)部和函數(shù)外...
    彩云_789d閱讀 951評論 0 1
  • sass和scss有啥區(qū)別 sass比scss要先2年發(fā)布氯檐,sass使用換行來代表分號,用縮進(jìn)來代表花括號体捏,這樣很...
    銅錢會會草閱讀 453評論 0 0
  • Introduction Sass 有兩種語法規(guī)則(syntaxes),目前新的語法規(guī)則(從 Sass 3開始)被...
    Ailily閱讀 997評論 0 7