2018年5月25日 星期五

【筆記】1.5 SCSS 和 Sass 的差異比較


SCSS SASS
共同優點
  1. 具有變數,簡單邏輯程式、函式...等等
  2. 語法比css簡潔(很多東西不用重複寫
  3. 具有擴充性與更多彈性
  4. 適合大型專案
  5. 兼容CSS
共同缺點
  1. 進入門檻高
  2. 維護門檻高
  3. 初學者成本高
  4. 團隊協作成本提升
  5. 學之前還是要先懂css
適合對象 設計師 工程師
優點
  1. 和css相似,使用{ } 與;對於設計師來說容易上手
  2. Bootstrap使用scss,是個很好的學習範本
  1. 程式碼縮短非常多,層次直觀
  2. 來自Python, Ruby的工程師,甚至可以用類似符號的語法編寫道具
  3. 對使用CoffeeScript的人來說,能自然的編寫mixins,函數,以及重複使用的東西
  4. 兼容SCSS
缺點
  1. 學習門檻高
  2. 安裝環境複雜
  3. 巢狀多層的時候,CSS會變得很難維護,不好讀
支援 變數、@mixin、@extend 變數、@mixin、@extend
引入@minxin 前面寫@include 前面加「+」就可以載入mixin
寫Mixin 須用{}將內容包住
寫巢狀繼承 須在繼承的父元素裡面撰寫class與class的css







語法範例
@mixin cover {
$color: red;
@for $i from 1 through 5 {
    &.bg-cover#{$i} { background-color: adjust-hue($color, 15deg * $i) }
}
}
.wrapper { @include cover }

// SASS
=cover
$color: red
@for $i from 1 through 5
    &.bg-cover#{$i}
        background-color: adjust-hue($color, 15deg * $i)
.wrapper +cover



對於要使用SASS、LESS、SCSS,我猶豫了非常久,真的是千百萬個不願意。如果是自己接案一人打天下,基本上用什麼都沒差,但是在公司的時候,就要想想,整個團隊倒是能不能一起配合,怎麼做最好維護跟擴充,萬一有一天離職了,後來的人到底能不能接?如果換了新語法,結果只有自己會用,這種自爽行為到最後應該是會被公幹,就算死了應該也會被拖出來鞭屍。


撰寫CSS的工作,大多是設計師兼著。要設計師學寫CSS預處理器,門檻太高很容易就投降了。
學習新東西會令人產生成就感,但在產生成就感之前挫折感太大太多,那就不太好了。


這是最後選擇了一個門檻比較低,但是又具有擴充性的預處理器,重點是有個資源豐富的範本(BootStrap),實在是太重要了。


=========我是題外話的分割線===========


UI-01:專案越來越大了,找code好難找
UI-02:而且好多東西要重複寫,好煩
UI-01:我們來改用SCSS
UI-02:似乎也只能這樣了
UI-01:我深深覺得這一定是工程師的陰謀
UI-02:??
UI-01:他們故意發明了一套很難的語法,只有他們自己看得懂,目的是要排擠所有的設計師
UI-02:沒錯,這樣以後就只有他們會切版
UI-01:沒錯,醬子就再也不用跟設計師配合了
UI-02:好奸詐


被害妄想症無限擴大,設計師的內心:全世界的工程師都想殺了我

沒有留言: