2015-02-17 91 views
9

現在很少有任何項目不使用任何類型的CSS預處理器,如Sass或LESS。雖然它已被廣泛接受並且優勢非常明顯(如更多結構化代碼,但性能不會下降等等)。 我徘徊,如果有任何huge的缺點。我可以馬上想到的是過大的嵌套選擇器,在重新繪製/迴流期間可能表現不佳。任何其他原因爲什麼not使用預處理器?使用CSS預處理器(例如Sass,LESS)有什麼優勢/缺點

+0

唯一的缺點是如果你不注意,你可以編寫非常小的精簡SCSS代碼,這可以導致BIG CSS文件。但是,爲了獲得所有的好處,這是一個很小的代價。 CSS可以在HTTP響應中被壓縮,並且會被代理和瀏覽器緩存,所以這不是問題。 – GolezTrol 2015-02-17 20:46:31

+0

嵌套選擇器(深層次)的風險是您的CSS僅適用於特定的HTML結構。您的HTML更改會破壞您的樣式。請注意,嵌套的LESS/SASS編譯成無腳本的CSS。您可以使用像BEM這樣的方法來更好地組織您Less/SASS/CSS – 2015-02-17 23:10:24

+0

我寫下了關於這些缺點的所有信息:http://adamsilver.io/articles/the-disadvantages-of-css-preprocessors/ – 2015-07-09 11:34:26

回答

11

你可以用預處理器找到的一件事是,由於嵌套,你最終會得到大量的css輸出。在一個小型項目中,很容易控制,在一個有多個開發人員的大型項目中,需要遵守紀律以保持控制的css數量。

+0

。最近製作了一個選擇器,可以從幾乎沒有SCSS創建187個字符的多選器。它看起來很簡單,在SCSS中很容易遵循,但它幾乎不像常規CSS那樣可行。 SCSS非常適合組織,但你一定要看你的CSS輸出。 – Scott 2015-02-17 20:49:58

+1

@Jaxo可維護性不是問題(你可以維護SCSS文件),但它不必要的大。只是'#sidebar-automatic.automatic-locked'可能已經足夠了。但是,從這個答案我+1。它需要實踐和紀律才能正確使用它。只在需要時才使用嵌套,也就是說,您希望能夠嵌套您的純CSS文件。 – GolezTrol 2015-02-17 20:51:06

+0

我正在瀏覽我的樣式表以尋找更大的樣式表,我想我發現它:'input [list] :: - webkit-input-placeholder:after,select [list] :: - webkit-input-placeholder: after,button [list] :: - webkit-input-placeholder:after,textarea [list] :: - webkit-input-placeholder:after' ...不幸的是,這是一個無法清理得太多那。 – Scott 2015-02-17 20:53:51

相關問題