天天看點

Compass(更新中。。。)

compass

Compass是Sass的工具庫,就好像jQuery是js的庫一樣。

sass有了compass的配合,就會更加事半功倍。

Sass本身隻是一個編譯器,Compass在它的基礎上,封裝了一系列有用的子產品和模闆,補充Sass的功能。它們之間的關系,有點像Javascript和jQuery、Ruby和Rails、python和Django的關系。(by:阮一峰http://www.ruanyifeng.com/blog/2012/11/compass.html)

官網:http://compass-style.org/

compass安裝

首先要裝上ruby,官網說,更進階點的可能需要安裝rvm

不過經曆過前邊sass,ruby啥的應該都配置好了才開始玩compass的

接下來:更新ruby環境并安裝compass

  1. 更新$  gem update --system 

更新完畢:

Compass(更新中。。。)

   2.安裝$  gem install compass 

安裝完畢:

Compass(更新中。。。)

compass的建立

進入項目目錄 $ cd 目錄路徑

項目初始化:$ compass create <項目檔案夾名稱>

例如:$ compass create sassTest

項目初始化是用來建立自己的compass項目的,建立完成,目前目錄下就會生成一個你剛才命名的子目錄。

Compass(更新中。。。)

建立完成,他會在目錄下建立下面這些檔案:

Compass(更新中。。。)

sass檔案夾放置sass源檔案

stylesheets檔案夾放置編譯後的css檔案

config.rb是項目的配置檔案。

其中

他主動建立的screen.sass就是放置自己主要樣式的檔案,并且會自動引用進來compass的reset子產品(後講)。

ie和print分别是針對ie和列印設定的專門樣式,看自己項目需要吧。

進入項目目錄:$ cd <項目檔案夾名稱>

開始編寫項目。。

 compass編譯

傳回項目根目錄下運作!!輸入指令: $ compass compile

之後,計算機自動的将sass檔案編譯成css檔案并儲存在tylesheets子目錄中。

另外,若要設定編譯出來的風格,編譯的指令可以做如下更改:

$ compass compile --output-style compressed

這樣會把css中的注釋啥的都删掉,壓縮css檔案。

但是例外,如果檔案中的版權聲明不想被壓縮時去掉咋辦?——解決:在注釋的前邊加一個感歎(!)

例如

/*!

* 我是版權資訊,不能被壓縮删掉

*/

這樣,壓縮風格的編譯出來就不會把這段注釋資訊删掉了

其他風格有:

expanded:

nested:

compact:

compressed:

或者修改config.rb檔案中的output_style = :expanded  也可以更改編譯模式

Compass(更新中。。。)

同時編譯未發生改動的檔案:compass compile --force

監聽編譯:$ compass watch

這樣,檔案有變動,儲存後就會自動編譯

compass分為六大核心子產品

1.  

reset:

浏覽器預設樣式重置子產品,減少浏覽器樣式的差異性

引入方法:@import “compass/reset”

進網頁看reset核心mixin詳細說明:http://compass-style.org/reference/compass/reset/utilities/

2.  

Layout:

提供頁面布局的控制能力

引入方法:@import “compass/layout”

使用率很低

3.  

CSS3:

用來提供跨浏覽器的css3能力

引入方法:@import “compass/css3”;

功能:

——添加浏覽器字首:@include css3屬性名(對應屬性值)

例如box-shadow屬性:

@include box-shadow(1px 1px 3px 4px #333);

這樣編譯出來自動生成字首代碼了。(若不想配置的浏覽器,則在browser support中設定即可)

其他功能(點css3連結):

Compass(更新中。。。)

4.  

Helpers:

内含一系列的函數,和sass函數清單很像,雖然比較少用到,但是功能強大。

5.  

Typography

主要用來修飾我們的文本樣式、垂直韻律

引入方法:

  @import “compass/typography/links”;  單獨引入某一個子產品

  @import “compass/typography”;  整體引入一個子產品

Compass(更新中。。。)

6.  

Utilities

其他子產品所不具備的補充。見聞知意:輔助類工具的子產品。

!!差別于helpers的内部都是函數,Utilities内部都是mixin

7.  

Browser Support:

用來配置compass預設支援哪些浏覽器、對于特定浏覽器支援到哪個版本

這個子產品的修改影響着其他六個子產品的配置輸出

引入寫法:@import “compass/support”;(css3子產品已經間接引入了support子產品,這個可以不寫)

注意:

隻要@import “compass” 就預設引入五大子產品,但是隻有reset和layout子產品需要特殊指定引入的

插件的使用——以normalize為例

 reset和normalize.css

用normalize來替換reset

 指令行:   gem install compass-normalize   

或者,自己去網上下載下傳normalize.css檔案  necolas.github.io/normalize.css

安裝好後在config.rb檔案引入插件

引入——在config.rb檔案中頂部另起一行填入:require ‘compass-normalize’

Compass(更新中。。。)

擴充:import-once作用:

若一個頁面多次import一個相同檔案,就隻會插入一次。解決了sass多次引用就多次編譯同一個檔案的bug。

但是真的想多次引入時,可以在被引入的檔案名字後邊加入感歎号(!)告知compass這是多次引入

使用插件方法:直接import就可以:@import ‘normalize’

上邊這種方法是直接把normalize整體的引入進來

若想要隻引入部分子產品,隻要插件名/子產品名就好了,

但是前邊要多加一行@import ‘normalize-version’

例如:

1 @import ‘normalize-version’
2 @import ‘normalize/html5’      

2017-07-19 17:14:03