2011-04-21 112 views
12

everyone —我正在看960 Grid System,Refresh OKC – April 19th 2011以及倒數第二張幻燈片(101/102)上的最近演示文稿,這個傢伙建議「如果您要使用Sass,請使用Sass,而不是SCSS」。鑑於SCSS是新的主要語法,爲什麼Sass更喜歡SCSS?它僅僅是一種優於CSS的簡潔性,還是真的有使用Sass而不是SCSS的理由?爲什麼使用Sass(不是SCSS)?

回答

20

我想不出一個很好的理由:)

我看着整個組幻燈片,我覺得主持人(誰也是一個連接到SASS項目,我覺得呢?)是的使用你知道的「得到'呃完成」的思維模式

Sass被認爲更短,更簡潔,說話人可能知道Sass從裏面出來,但從閱讀和寫入CSS的個人經驗談起10年我發現SCSS更直觀。我不必學習Sass縮進規則,而SCSS和CSS中的括號爲嵌套提供了視覺縮進線索 - 這非常類似於大多數其他語言使用的,所以任何來自編程/編碼背景的人都會熟悉關閉巢穴?

更重要的是,每個有效的CSS已經是一個有效的SCSS,所以不需要轉換來開始使用它 - 例如,我能夠拿走我的Drupal表單(全部29個表單!),改變它們的擴展名並在很短的時間內重新編譯/壓縮它們。從那以後,我一次可以佔用一小塊,並且「Sassify」它,使用嵌套等,我仍然喜歡看到括號和分號,它不重要,你使用一旦它全部編譯!

恕我直言,薩斯本身就是過高的門檻對大型項目(現有的,即一個沒有內置/從零開始sassified),其中因爲它可以與SCSS

被模塊化的所以要遵循原作者的(幻燈片)思考而不是辯論親和我會繼續使用我知道的TYVM :)

+1

所有優點 - 但是,有一個工具:css2sass它將任何樣式錶轉換爲有效的SASS格式。它的工作原理與將.css重命名爲.scss一樣 - 即可以工作,但需要進行優化才能充分利用SASS/SCSS。 – Beejamin 2011-09-13 00:22:46

3

優點: 它更乾淨。視覺噪音較少。更優雅。

缺點: 大問題:不能使用換行符。這是我不喜歡SASS的唯一的東西。見下面的例子。其他:對於與顯然難以壓縮的概念作鬥爭的人來說,進入門檻較高。在SASS你不得不堅持行。所以,如果你有

@function -create-gradient-from-color($bgcolor:#000,$depth:6%) 
    ...code... 

那麼你不能做到這一點,我覺得更清潔

@function -create-gradient-from-color(
    $bgcolor:  #000, 
    $depth:  6% 
) 
    ...code... 

這將拋出,因爲新行的錯誤。

但是你可以做,在SCSS,因爲它並不關心新行

@function -create-gradient-from-color(
    $bgcolor:  #000, 
    $depth:  6% 
) { 
    ...code... 
} 

所以,我發現自己對一些事情的可選參數字符串,以防止這種情況簡潔。

0

我發現SASS鍵入的速度要快得多。

SASS和SCSS都是CSS的巨大附加組件 - 非常不同,我不想將它們與標準CSS混淆。

學習SASS並不難 - 丟掉括號,並使用製表符來決定嵌套。

11

我認爲括號中的.scss語法目前僅僅是默認的,因爲它對從LESS和vanilla CSS切換到SASS的新手更加熟悉。

縮進的.sass語法是SASS中的第一個,與HAML完全相同(並且成爲最終團隊)。新括號中的.scss語法類似於SASS的競爭對手LESS,SASS和LESS都可以通過重命名來從CSS轉換。

縮進的.sass語法只有一個缺點:它不允許將函數/混入參數分成多行。這可能會使代碼難以閱讀(example)。

實際上,這個問題很少見,可能表明代碼設計不好,需要重構。

縮進.sass語法的唯一但決定性的優點是,它更清晰,更易於理解,同時具有同樣的表現力和強大功能。

我已經創建了一個動畫,你要考慮的區別:

enter image description here

而且,你不討厭每次當你的代碼未能奏效/編譯時就因缺少分號(和也許解釋器/編譯器產生誤導性的錯誤信息)?

基本上,縮進的.sass語法只是消除了大量的視覺噪音。

當然,它需要一些時間來適應它。起初,對於任何有CSS或LESS經驗的人來說,這似乎是陌生的。但是一旦你習慣了一些,你會發現自己對CSS/LESS/SCSS和JavaScript的括號內語法感到厭惡,並且更喜歡SASS,HAML,CoffeeScript和Python/Ruby的乾淨語法。

+0

謝謝你的動畫!它真的幫助我,因爲搜索sass-syntax讓我在這裏。所有其他結果用戶scss-syntax和我找不到if的文檔。他們使用+而不是'@include'並堅持使用'@if',不一致的imho! – 2015-05-26 12:19:20