為什么使用Sass而不是Less

這篇文章主要解答以下幾個問題,供前端開發(fā)者的新手參考敛瓷。

1叁巨、什么是Sass和Less?

2呐籽、為什么要使用CSS預處理器锋勺?

3、Sass和Less的比較

4狡蝶、為什么選擇使用Sass而不是Less庶橱?

什么是Sass和Less?

??Sass和Less都屬于CSS預處理器贪惹,那什么是 CSS 預處理器呢苏章?

??CSS 預處理器定義了一種新的語言,其基本思想是,用一種專門的編程語言枫绅,為 CSS 增加了一些編程的特性泉孩,將 CSS 作為目標生成文件,然后開發(fā)者就只要使用這種語言進行CSS的編碼工作并淋。

??轉(zhuǎn)化成通俗易懂的話來說就是“用一種專門的編程語言棵譬,進行 Web 頁面樣式設(shè)計,再通過編譯器轉(zhuǎn)化為正常的 CSS 文件预伺,以供項目使用”订咸。

為什么要使用CSS預處理器?

??作為前端開發(fā)人員酬诀,大家都知道脏嚷,Js中可以自定義變量,而CSS僅僅是一個標記語言瞒御,不是編程語言父叙,因此不可以自定義變量,不可以引用等等肴裙。

CSS有具體以下幾個缺點:

??語法不夠強大趾唱,比如無法嵌套書寫,導致模塊化開發(fā)中需要書寫很多重復的選擇器蜻懦;

??沒有變量和合理的樣式復用機制甜癞,使得邏輯上相關(guān)的屬性值必須以字面量的形式重復輸出,導致難以維護宛乃。

??這就導致了我們在工作中無端增加了許多工作量悠咱。而使用CSS預處理器,提供 CSS 缺失的樣式層復用機制征炼、減少冗余代碼析既,提高樣式代碼的可維護性。大大提高了我們的開發(fā)效率谆奥。

??但是眼坏,CSS預處理器也不是萬金油,CSS的好處在于簡便酸些、隨時隨地被使用和調(diào)試宰译。預編譯CSS步驟的加入,讓我們開發(fā)工作流中多了一個環(huán)節(jié)擂仍,調(diào)試也變得更麻煩了囤屹。更大的問題在于,預編譯很容易造成后代選擇器的濫用逢渔。

??所以我們在實際項目中衡量預編譯方案時肋坚,還是得想想,比起帶來的額外維護開銷,CSS預處理器有沒有解決更大的麻煩智厌。

Sass和Less的比較

不同之處

  • 1诲泌、Less環(huán)境較Sass簡單
    Cass的安裝需要安裝Ruby環(huán)境,Less基于JavaScript铣鹏,是需要引入Less.js來處理代碼輸出css到瀏覽器敷扫,也可以在開發(fā)環(huán)節(jié)使用Less,然后編譯成css文件诚卸,直接放在項目中葵第,有l(wèi)ess.app、SimpleLess合溺、CodeKit.app這樣的工具卒密,也有在線編輯地址。

  • 2棠赛、Less使用較Sass簡單
    LESS 并沒有裁剪 CSS 原有的特性哮奇,而是在現(xiàn)有 CSS 語法的基礎(chǔ)上,為 CSS 加入程序式語言的特性睛约。只要你了解 CSS 基礎(chǔ)就可以很容易上手鼎俘。

  • 3、從功能出發(fā)辩涝,Sass較Less略強大一些
    ①sass有變量和作用域贸伐。

    • $variable,like php膀值;
    • #{$variable}like ruby棍丐;
    • 變量有全局和局部之分,并且有優(yōu)先級沧踏。

②sass有函數(shù)的概念

  • @function和@return以及函數(shù)參數(shù)(還有不定參)可以讓你像js開發(fā)那樣封裝你想要的邏輯。
  • @mixin類似function但缺少像function的編程邏輯巾钉,更多的是提高css代碼段的復用性和模塊化翘狱,這個用的人也是最多的。
  • ruby提供了非常豐富的內(nèi)置原生api砰苍。

③進程控制:

  • 條件:@if @else潦匈;
  • 循環(huán)遍歷:@for @each @while
  • 繼承:@extend
  • 引用:@import

④數(shù)據(jù)結(jié)構(gòu):

  • $list類型=數(shù)組;

  • $map類型=object赚导;
    其余的也有string茬缩、number、function等類型

  • 4吼旧、Less與Sass處理機制不一樣
    ??前者是通過客戶端處理的凰锡,后者是通過服務(wù)端處理,相比較之下前者解析會比后者慢一點

  • 5、關(guān)于變量在Less和Sass中的唯一區(qū)別就是Less用@掂为,Sass用$裕膀。

?

相同之處

Less和Sass在語法上有些共性,比如下面這些:

1勇哗、混入(Mixins)——class中的class昼扛;
2、參數(shù)混入——可以傳遞參數(shù)的class欲诺,就像函數(shù)一樣抄谐;
3、嵌套規(guī)則——Class中嵌套class扰法,從而減少重復的代碼斯稳;
4、運算——CSS中用上數(shù)學迹恐;
5挣惰、顏色功能——可以編輯顏色;
6殴边、名字空間(namespace)——分組樣式憎茂,從而可以被調(diào)用;
7锤岸、作用域——局部修改樣式竖幔;
8、JavaScript 賦值——在CSS中使用JavaScript表達式賦值是偷。

為什么選擇使用Sass而不是Less拳氢?

1、Sass在市面上有一些成熟的框架蛋铆,比如說Compass馋评,而且有很多框架也在使用Sass,比如說Foundation刺啦。
2留特、就國外討論的熱度來說,Sass絕對優(yōu)于LESS玛瘸。
3蜕青、就學習教程來說,Sass的教程要優(yōu)于LESS糊渊。在國內(nèi)LESS集中的教程是LESS中文官網(wǎng)右核,而Sass的中文教程,慢慢在國內(nèi)也較為普遍渺绒。
4贺喝、Sass也是成熟的CSS預處理器之一菱鸥,而且有一個穩(wěn)定,強大的團隊在維護搜变。
5采缚、同時還有Scss對sass語法進行了改良,Sass 3就變成了Scss(sassy css)挠他。與原來的語法兼容扳抽,只是用{}取代了原來的縮進。
6殖侵、bootstrap(Web框架)最新推出的版本4贸呢,使用的就是Sass。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末拢军,一起剝皮案震驚了整個濱河市楞陷,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌茉唉,老刑警劉巖固蛾,帶你破解...
    沈念sama閱讀 217,277評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異度陆,居然都是意外死亡艾凯,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,689評論 3 393
  • 文/潘曉璐 我一進店門懂傀,熙熙樓的掌柜王于貴愁眉苦臉地迎上來趾诗,“玉大人,你說我怎么就攤上這事蹬蚁∈牙幔” “怎么了?”我有些...
    開封第一講書人閱讀 163,624評論 0 353
  • 文/不壞的土叔 我叫張陵犀斋,是天一觀的道長贝乎。 經(jīng)常有香客問我,道長闪水,這世上最難降的妖魔是什么糕非? 我笑而不...
    開封第一講書人閱讀 58,356評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮球榆,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘禁筏。我一直安慰自己持钉,他們只是感情好,可當我...
    茶點故事閱讀 67,402評論 6 392
  • 文/花漫 我一把揭開白布篱昔。 她就那樣靜靜地躺著每强,像睡著了一般始腾。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上空执,一...
    開封第一講書人閱讀 51,292評論 1 301
  • 那天浪箭,我揣著相機與錄音,去河邊找鬼辨绊。 笑死奶栖,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的门坷。 我是一名探鬼主播宣鄙,決...
    沈念sama閱讀 40,135評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼默蚌!你這毒婦竟也來了冻晤?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,992評論 0 275
  • 序言:老撾萬榮一對情侶失蹤绸吸,失蹤者是張志新(化名)和其女友劉穎鼻弧,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體锦茁,經(jīng)...
    沈念sama閱讀 45,429評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡攘轩,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,636評論 3 334
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了蜻势。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片撑刺。...
    茶點故事閱讀 39,785評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖握玛,靈堂內(nèi)的尸體忽然破棺而出够傍,到底是詐尸還是另有隱情,我是刑警寧澤挠铲,帶...
    沈念sama閱讀 35,492評論 5 345
  • 正文 年R本政府宣布冕屯,位于F島的核電站,受9級特大地震影響拂苹,放射性物質(zhì)發(fā)生泄漏安聘。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,092評論 3 328
  • 文/蒙蒙 一瓢棒、第九天 我趴在偏房一處隱蔽的房頂上張望浴韭。 院中可真熱鬧,春花似錦脯宿、人聲如沸念颈。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,723評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽榴芳。三九已至嗡靡,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間窟感,已是汗流浹背讨彼。 一陣腳步聲響...
    開封第一講書人閱讀 32,858評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留柿祈,地道東北人哈误。 一個月前我還...
    沈念sama閱讀 47,891評論 2 370
  • 正文 我出身青樓,卻偏偏與公主長得像谍夭,于是被迫代替她去往敵國和親黑滴。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,713評論 2 354

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

  • 1、LESS的官網(wǎng):http://lesscss.org 2珠漂、Sass官網(wǎng)地址:http://sass-lang....
    Howie223閱讀 3,681評論 0 5
  • 第一部分 HTML&CSS整理答案 1. 什么是HTML5晚缩? 答:HTML5是最新的HTML標準。 注意:講述HT...
    kismetajun閱讀 27,482評論 1 45
  • 很多年前,喜歡攝影待笑,喜歡在光影間隙中定格瞬間鸣皂,喜歡暗房里逐漸清晰的黑白相片;但漸漸地暮蹂,攝影蛻變成了拍照寞缝,除...
    閱修悟律閱讀 493評論 0 1
  • 焦點解決初級班第八期 堅持原創(chuàng)分享第219天(20180803 星期五 雨 惠州) 節(jié)選: 當我們認真思考面對孩...
    張文思_db3b閱讀 167評論 0 0
  • 2008年9月份,他15歲仰泻,是高中開學的季節(jié)荆陆。那天清楚的記著,天氣還是燥熱集侯,天空懶散地漂浮著幾塊云被啼,好像中暑過...
    逆水寒0354閱讀 206評論 0 0