sass scss

"CSS預(yù)處理器"(css preprocessor)。它的基本思想是沃暗,用一種專門的編程語言悠栓,進(jìn)行網(wǎng)頁樣式設(shè)計卡乾,然后再編譯成正常的CSS文件缰雇。

SASS是一種CSS的開發(fā)工具衡查,提供了許多便利的寫法个盆,大大節(jié)省了設(shè)計者的時間吧凉,使得CSS的開發(fā),變得簡單和可維護怎栽。

.Sass和SCSS的區(qū)別

文件擴展名不同:“.sass”和“.scss”丽猬;

Sass是以嚴(yán)格縮進(jìn)式語法規(guī)則來書寫的,不帶大括號和分號熏瞄;

而SCSS的語法和CSS書寫語法類似脚祟。

SASS是Ruby語言寫的,但是兩者的語法沒有關(guān)系强饮。不懂Ruby由桌,照樣使用。只是必須先安裝Ruby邮丰,然后再安裝SASS行您。

假定你已經(jīng)安裝好了Ruby,接著在命令行輸入下面的命令:

gem install sass

SASS文件就是普通的文本文件剪廉,里面可以直接使用CSS語法娃循。文件后綴名是.scss,意思為Sassy CSS

下面的命令斗蒋,可以在屏幕上顯示.scss文件轉(zhuǎn)化的css代碼捌斧。(假設(shè)文件名為test)

sass test.scss

如果要將顯示結(jié)果保存成文件,后面再跟一個.css文件名泉沾。

sass test.scss test.css

SASS提供四個編譯風(fēng)格的選項:

* nested:嵌套縮進(jìn)的css代碼捞蚂,它是默認(rèn)值。

* expanded:沒有縮進(jìn)的爆哑、擴展的css代碼。

* compact:簡潔格式的css代碼舆吮。

* compressed:壓縮后的css代碼揭朝。

生產(chǎn)環(huán)境當(dāng)中队贱,一般使用最后一個選項。

sass --style compressed test.sass test.css

你也可以讓SASS監(jiān)聽某個文件或目錄潭袱,一旦源文件有變動柱嫌,就自動生成編譯后的版本。

// watch a file

sass --watch input.scss:output.css

// watch a directory

sass --watch app/sass:public/stylesheets

三屯换、基本用法

變量

SASS允許使用變量编丘,所有變量以$開頭。

$blue : #1875e7;

div {

color : $blue;

}

如果變量需要鑲嵌在字符串之中彤悔,就必須需要寫在#{}之中嘉抓。

$side : left;

.rounded {

border-#{$side}-radius: 5px;

}

計算功能

SASS允許在代碼中使用算式:

body {

margin: (14px/2);

top: 50px + 100px;

right: $var * 10%;

}

嵌套

SASS允許選擇器嵌套。比如晕窑,下面的CSS代碼:

div h1 {

color : red;

}

可以寫成:

div {

hi {

color:red;

?} }

屬性也可以嵌套抑片,比如border-color屬性,可以寫成:

p {

border: {

color: red;

}? }


注意杨赤,border后面必須加上冒號敞斋。

在嵌套的代碼塊內(nèi),可以使用&引用父元素疾牲。比如a:hover偽類植捎,可以寫成

a {

&:hover { color: #ffb3ff; }

}

注釋

SASS共有三種注釋風(fēng)格。

標(biāo)準(zhǔn)的CSS注釋 /* comment */ 阳柔,會保留到編譯后的文件焰枢。

單行注釋 // comment,只保留在SASS源文件中盔沫,編譯后被省略医咨。

在/*后面加一個感嘆號,表示這是"重要注釋"架诞。即使是壓縮模式編譯拟淮,也會保留這行注釋,通城从牵可以用于聲明版權(quán)信息很泊。

/*!

重要注釋!

*/

繼承

SASS允許一個選擇器沾谓,繼承另一個選擇器委造。比如,現(xiàn)有class1:

.class1 {

border: 1px solid #ddd;

}


class2要繼承class1均驶,就要使用@extend命令:

.class2 {

@extend .class1;

font-size:120%;

}

Mixin

Mixin有點像C語言的宏(macro)昏兆,是可以重用的代碼塊。

使用@mixin命令妇穴,定義一個代碼塊

@mixin left {

float: left;

margin-left: 10px;

}

使用@include命令爬虱,調(diào)用這個mixin隶债。

div {

@include left;

}

mixin的強大之處,在于可以指定參數(shù)和缺省值跑筝。

@mixin left($value: 10px) {

float: left;

margin-right: $value;

}

使用的時候死讹,根據(jù)需要加入?yún)?shù):

div {

@include left(20px);

}

顏色函數(shù)

SASS提供了一些內(nèi)置的顏色函數(shù),以便生成系列顏色

lighten(#cc3, 10%) // #d6d65c

darken(#cc3, 10%) // #a3a329

grayscale(#cc3) // #808080

complement(#cc3) // #33c

插入文件

@import命令曲梗,用來插入外部文件赞警。

@import "path/filename.scss";

如果插入的是.css文件,則等同于css的import命令虏两。

@import "foo.css";

條件語句

@if可以用來判斷:

p {

@if 1 + 1 == 2 { border: 1px solid; }

@if 5 < 3 { border: 2px dotted; }

}

配套的還有@else命令:

@if lightness($color) > 30% {

background-color: #000;

} @else {

background-color: #fff;

}

循環(huán)語句

SASS支持for循環(huán):

@for $i from 1 to 10 {

.border-#{$i} {

border: #{$i}px solid blue;

} }

也支持while循環(huán):

$i: 6;

@while $i > 0 {

.item-#{$i} { width: 2em * $i; }

$i: $i - 2;

}

each命令愧旦,作用與for類似:

@each $member in a, b, c, d {

.#{$member} {

background-image: url("/image/#{$member}.jpg");

}? }

自定義函數(shù)

SASS允許用戶編寫自己的函數(shù)

@function double($n) {

@return $n * 2;

}

#sidebar {

width: double(5px); }

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市碘举,隨后出現(xiàn)的幾起案子忘瓦,更是在濱河造成了極大的恐慌,老刑警劉巖引颈,帶你破解...
    沈念sama閱讀 212,884評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件耕皮,死亡現(xiàn)場離奇詭異,居然都是意外死亡蝙场,警方通過查閱死者的電腦和手機凌停,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,755評論 3 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來售滤,“玉大人罚拟,你說我怎么就攤上這事⊥曷幔” “怎么了赐俗?”我有些...
    開封第一講書人閱讀 158,369評論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長弊知。 經(jīng)常有香客問我阻逮,道長,這世上最難降的妖魔是什么秩彤? 我笑而不...
    開封第一講書人閱讀 56,799評論 1 285
  • 正文 為了忘掉前任叔扼,我火速辦了婚禮,結(jié)果婚禮上漫雷,老公的妹妹穿的比我還像新娘瓜富。我一直安慰自己,他們只是感情好降盹,可當(dāng)我...
    茶點故事閱讀 65,910評論 6 386
  • 文/花漫 我一把揭開白布与柑。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪价捧。 梳的紋絲不亂的頭發(fā)上每辟,一...
    開封第一講書人閱讀 50,096評論 1 291
  • 那天,我揣著相機與錄音干旧,去河邊找鬼。 笑死妹蔽,一個胖子當(dāng)著我的面吹牛椎眯,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播胳岂,決...
    沈念sama閱讀 39,159評論 3 411
  • 文/蒼蘭香墨 我猛地睜開眼编整,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了乳丰?” 一聲冷哼從身側(cè)響起掌测,我...
    開封第一講書人閱讀 37,917評論 0 268
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎产园,沒想到半個月后汞斧,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,360評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡什燕,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,673評論 2 327
  • 正文 我和宋清朗相戀三年粘勒,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片屎即。...
    茶點故事閱讀 38,814評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡庙睡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出技俐,到底是詐尸還是另有隱情乘陪,我是刑警寧澤,帶...
    沈念sama閱讀 34,509評論 4 334
  • 正文 年R本政府宣布雕擂,位于F島的核電站啡邑,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏捂刺。R本人自食惡果不足惜谣拣,卻給世界環(huán)境...
    茶點故事閱讀 40,156評論 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望族展。 院中可真熱鬧森缠,春花似錦、人聲如沸仪缸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,882評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至宾茂,卻和暖如春瓷马,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背跨晴。 一陣腳步聲響...
    開封第一講書人閱讀 32,123評論 1 267
  • 我被黑心中介騙來泰國打工欧聘, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人端盆。 一個月前我還...
    沈念sama閱讀 46,641評論 2 362
  • 正文 我出身青樓怀骤,卻偏偏與公主長得像,于是被迫代替她去往敵國和親焕妙。 傳聞我的和親對象是個殘疾皇子蒋伦,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,728評論 2 351

推薦閱讀更多精彩內(nèi)容