為什麼要用compass?

題主最近開始用sass寫css,覺得挺不錯的,結構清晰明了,但老是見有文章說用sass一定要用compass,就去看了一下compass的教程(比如慕課網上的),看完之後覺得這東西雞肋無比啊!用它還的搞個config.rb 得去記一堆配置,添加前綴時還的記著前綴的函數,還不如用gulp-autorefixer來的爽快,提供那麼多函數和mixin項目中真正用到的其實也沒幾個並且都是自己寫的,不明白為什麼這麼多人推崇compass,我寧願只用sass+gulp來配置work-flow也不願去折騰compass那麼龐大複雜的東西,有前端大神能指點一下么?


Compass現在更新速度不快了,首先說一下Compass。

Compass是Sass早期一個成熟的框架,有點類似於CSS中的(bootstrap,foundation)類似,裡面集成了一些功能與特性,比如說CSS3的前綴、合成sprites、Vertical Rhythm 等,當然底層也集合了一些Functions和常用的Mixins。但裡面我比較感興趣的也就合成sprites和Vertical Rhythm這兩個功能。

不過Compass對Sass版本匹配也有一定的要求,就Sass版本更新速度而言,那麼Compass 並不切合我們實際需求。所以我不建議在業務中使用Compass。為什麼這麼說呢?

  1. CSS3前端有更好的處理方式替代,比如PostCSS、Autoprefixer
  2. 合成sprites有grunt、gulp這樣的前端自動化插件,而且目前的前端團隊基本上都用上了grunt或者gulp
  3. Vertical Rhythm這個功能,現在也有相關的Sass庫支持,比如:designbyjake/sassline · GitHub

  4. 而內置的Sass的mixins和functions,大家在實際中可以根據自己需要求,整理適合業務的mixins和functions:W3cplus/Sass-Resources · GitHub (這個Sass是我整理相關的mixin和function,感興趣的同學可以關注相關更新)

最為重要的是,Sass有些新功能,Compass完全沒有合進去。在使用的時候完全也就在使用Sass,與其如此,還不如直接使用Sass。

如果您從示接觸Sass或者對Sass感興趣,不仿關注下面的內容:

  1. sass | 博客自由標籤

  2. Sass基礎入門_獨家IT技術培訓視頻


如果你想問一個問題而不是讓別人確認你的判斷,compass的官網有很好的回答 Compass Home

  1. Experience cleaner markup without presentational classes.
  2. It』s chock full of the web』s best reusable patterns.
  3. It makes creating sprites a breeze.
  4. Compass mixins make CSS3 easy.
  5. Create beautiful typographic rhythms.
  6. Download and create extensions with ease.

如果這些對你的項目不重要,那麼你真的不需要Compass,別人寫文章沒說你一定要用Compass。


瀉藥,但是我並不用 compass,也並不知道為什麼非得用 compass。


其實你已經有答案了,而且我認為你的答案是對的


正在實踐sass和compass,使用結果稍後更新


看來是要放棄compass了


推薦閱讀:

如何高效的載入scss文件?
css 當中如何實現一個元素的hover, focus 狀態改變其他元素的樣式?
如何實現視差滾動效果的網頁?
display:inline 的元素不能用於清除浮動嗎?
你是如何去組織項目中的 Less/Sass 代碼的?

TAG:前端開發 | CSS | Sass |