一、什麼是sass sass是一種css的開發工具,提供了許多便利的寫法,大大節省了設計者的時間,使得css的開發,變得簡單和可維護。
本文總結了sass的主要用法。
二、安裝和使用
2.1 安裝
sass是ruby語言寫的,但是兩者的語法沒有關係。不懂ruby,照樣使用。只是必須先安裝ruby,然後再安裝sass。
假定你已經安裝好了ruby,接著在命令列輸入下面的命令:
gem install sass
然後,就可以使用了。
2.2 使用
sass檔案就是普通的文字檔案,裡面可以直接使用css語法。檔案字尾名是.scss,意思為sassy css。
下面的命令,可以在螢幕上顯示.scss檔案轉化的css**。(假設檔名為test。)
sass test.scss
如果要將顯示結果儲存成檔案,後面再跟乙個.css檔名。
sass test.scss test.css
sass提供四個編譯風格的選項:
* nested:巢狀縮排的css**,它是預設值。
* expanded:沒有縮排的、擴充套件的css**。
* compact:簡潔格式的css**。
* compressed:壓縮後的css**。
生產環境當中,一般使用最後乙個選項。
sass --style compressed test.sass test.css
你也可以讓sass監聽某個檔案或目錄,一旦原始檔有變動,就自動生成編譯後的版本。
// watch a file
sass --watch input.scss:output.css
// watch a directory
3.1 變數
sass允許使用變數,所有變數以$開頭。
$blue : #1875e7;
div
如果變數需要鑲嵌在字串之中,就必須需要寫在#{}之中。
$side : left;
.rounded -radius: 5px;
}3.2 計算功能
sass允許在**中使用算式:
body
3.3 巢狀
sass允許選擇器巢狀。比如,下面的css**:
div h1
可以寫成:
div
}屬性也可以巢狀,比如border-color屬性,可以寫成:
p }
注意,border後面必須加上冒號。
在巢狀的**塊內,可以使用$引用父元素。比如a:hover偽類,可以寫成:
a }3.4 注釋
sass共有兩種注釋風格。
標準的css注釋 /* comment */ ,會保留到編譯後的檔案。
單行注釋 // comment,只保留在sass原始檔中,編譯後被省略。
在/*後面加乙個感嘆號,表示這是重要注釋。即使是壓縮模式編譯,也會保留這行注釋,通常可以用於宣告版權資訊。
/*! 重要注釋!
*/四、**的重用
4.1 繼承
sass允許乙個選擇器,繼承另乙個選擇器。比如,現有class1:
.class1
class2要繼承class1,就要使用@extend命令:
.class2
4.2 mixin
mixin有點像c語言的巨集(macro),是可以重用的**塊。
使用@mixin命令,定義乙個**塊。
@mixin left
使用@include命令,呼叫這個mixin。
div
mixin的強大之處,在於可以指定引數和預設值。
@mixin left($value: 10px)
使用的時候,根據需要加入引數:
div
html5移動應用框架
ratchet 專門針對移動裝置優化的css框架,bootstrap的一員,提供了一些常見控制項的呼叫,比如按鈕 iphone上的segmented control,開關鍵,列表檢視。onsen ui 和ionic很類似,也是最好配合angular js使用,官方寫了幾個不錯的patterns,可以...
html5移動開發
canvas 3d 3d的繪圖功能支援 svg 向量圖支援 設計師要知道,的移動 旋轉 縮放?那都太基礎了,自己畫都是小case,至於怎麼用,好好想想吧 5.專為移動平台定製的表單元素 瀏覽器中出現的html5表單元素與對應的鍵盤 型別用途鍵盤 可以綜合使用gps wifi 手機等方式讓定位更為精準...
HTML5在豆瓣的各種應用
作為處於發展階段的新一代web開發標準,html5正以其簡潔的書寫規範 良好的相容性以及務實的原則為越來越多的 所接受,這是whatwg與w3c共同努力的結果,作為標準的參與制訂者,各瀏覽器廠商也在積極地為其提供支援。豆瓣一向熱衷於新技術的探索和創新,前端團隊在html5與css3方面也有過很多嘗試...