sass學習筆記(3)

2022-06-27 06:00:21 字數 1640 閱讀 3269

使用sass的@import規則並不需要指明被匯入檔案的全名。你可以省略.sass或.scss檔案字尾(見下圖)。這樣,在不修改樣式表的前提下,你完全可以隨意修改你或別人寫的被匯入的sass樣式檔案語法,在sass和scss語法之間隨意切換。舉例來說,@import"sidebar";這條命令將把sidebar.scss檔案中所有樣式新增到當前樣式表中。

當通過@import把sass樣式分散到多個檔案時,你通常只想生成少數幾個css檔案。那些專門為@import命令而編寫的sass檔案,並不需要生成對應的獨立css檔案,這樣的sass檔案稱為區域性檔案。對此,sass有乙個特殊的約定來命名這些檔案。

此約定即,sass區域性檔案的檔名以下劃線開頭。這樣,sass就不會在編譯時單獨編譯這個檔案輸出css,而只把這個檔案用作匯入。當你@import乙個區域性檔案時,還可以不寫檔案的全名,即省略檔名開頭的下劃線。舉例來說,你想匯入themes/_night-sky.scss這個區域性檔案裡的變數,你只需在樣式表中寫@import "themes/night-sky";。

區域性檔案可以被多個不同的檔案引用。當一些樣式需要在多個頁面甚至多個專案中使用時,這非常有用。在這種情況下,有時需要在你的樣式表中對匯入的樣式稍作修改,sass有乙個功能剛好可以解決這個問題,即預設變數值。

一般情況下,你反覆宣告乙個變數,只有最後一處宣告有效且它會覆蓋前邊的值。舉例說明:

$link-color: blue;

$link-color: red;

a

在上邊的例子中,超連結的color會被設定為red。這可能並不是你想要的結果,假如你寫了乙個可被他人通過@import匯入的sass庫檔案,你可能希望匯入者可以定製修改sass庫檔案中的某些值。使用sass的!default標籤可以實現這個目的。它很像css屬性中!important標籤的對立面,不同的是!default用於變數,含義是:如果這個變數被宣告賦值了,那就用它宣告的值,否則就用這個預設值。

$fancybox-width: 400px !default;

.fancybox

在上例中,如果使用者在匯入你的sass區域性檔案之前宣告了乙個\(fancybox-width變數,那麼你的區域性檔案中對\)fancybox-width賦值400px的操作就無效。如果使用者沒有做這樣的宣告,則$fancybox-width將預設為400px。

跟原生的css不同,sass允許@import命令寫在css規則內。這種匯入方式下,生成對應的css檔案時,區域性檔案會被插入到css規則內匯入它的地方,_blue-theme。scss的區域性檔案,內容如下:

aside
然後把它匯入到乙個css規則內,如下所示:

.blue-theme 

//生成的結果跟你直接在.blue-theme選擇器內寫_blue-theme.scss檔案的內容完全一樣。

.blue-theme

}

被匯入的區域性檔案中定義的所以變數和混合器,也會在這個規則範圍生效。這些變數和混合不會全域性生效,這樣我們就可以通過巢狀匯入只對站點中某一特定區域運用某種顏色主題或其他通過變數配置的樣式。

Sass學習筆記

安裝 2.開啟ruby的命令視窗 start command prompt with ruby 輸入gem install sass gem install sass pre 要安裝beta版本的 gem update sass 公升級sass vsass hgit安裝 git clone git ...

Sass學習筆記

1.全域性變數p background color color red span div2.default 第二種,使用前面定義的值 color red 變數申明帶有 default,但是前面還有這個變數的申明 color blue default p3.變數用 包裹 btnclass btn de...

Sass學習筆記。

定義 css預處理器定義了一種新的語言,其基本思想是,用一種專門的程式語言,為css增加了一些程式設計的特性,將css作為目標生成檔案,然後開發者就只要使用這種語言進行編碼工作。採用ruby語言編寫的一款css預處理語言 副檔名 sass 嚴格的縮排式語法 scss 與平時css語法書寫類似 scs...