關(guān)于sass的安裝及使用教程

安裝ruby

http://rubyinstaller.org/downloads/

淘寶鏡像

https://gems.ruby-china.org/

更換鏡像:( 如報(bào)錯(cuò)萍歉,請把https://gems.ruby-china.org換成http://gems.ruby-china.org)

$gem update --system # 這里請翻墻一下$gem -v2.6.3

$gem?sources?--add?https://gems.ruby-china.org/?--remove?https://rubygems.org/

$gem?sources?-l

https://gems.ruby-china.org

#?確保只有?gems.ruby-china.org

步驟:

step1

新建.scss文件,按照sass語法編寫

step2

打開ruby 命令

進(jìn)入所在文件夾

如在F盤栓辜,可直接輸入F: 回車

如f://study/exercise/test.scss

則輸入 cd f:/study/exercise 回車

SASS文件就是普通的文本文件疯兼,里面可以直接使用CSS語法樱报。文件后綴名是.scss,意思為Sassy CSS。

下面的命令柠衅,可以在屏幕上顯示.scss文件轉(zhuǎn)化的css代碼屡谐。(假設(shè)文件名為test述么。)

sass test.scss

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

sass test.scss test.css

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

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

* expanded:沒有縮進(jìn)的亭珍、擴(kuò)展的css代碼敷钾。

* compact:簡潔格式的css代碼枝哄。

* compressed:壓縮后的css代碼。

生產(chǎn)環(huán)境當(dāng)中阻荒,一般使用最后一個(gè)選項(xiàng)挠锥。

sass --style compressed test.sass test.css

你也可以讓SASS監(jiān)聽某個(gè)文件或目錄,一旦源文件有變動(dòng)侨赡,就自動(dòng)生成編譯后的版本蓖租。

// watch a file

sass --watch input.scss:output.css

// watch a directory

sass --watch app/sass:public/stylesheets

三、基本用法

3.1 變量

SASS允許使用變量羊壹,所有變量以$開頭蓖宦。

$blue : #1875e7;

div {

color : $blue;

}

如果變量需要鑲嵌在字符串之中,就必須需要寫在#{}之中油猫。

$side : left;

.rounded {

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

}

3.2 計(jì)算功能

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

body {

margin: (14px/2);

top: 50px + 100px;

right: $var * 10%;

}

3.3 嵌套

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

div h1 {

color : red;

}

可以寫成:

div {

h1 {

color:red;

}

}

屬性也可以嵌套情妖,比如border-color屬性睬关,可以寫成:

p {

border: {

color: red;

}

}

注意,border后面必須加上冒號毡证。

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

a {

&:hover { color: #ffb3ff; }

}

3.4 注釋

SASS共有兩種注釋風(fēng)格丐箩。

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

單行注釋 // comment屎勘,只保留在SASS源文件中,編譯后被省略阱州。

在/*后面加一個(gè)感嘆號挑秉,表示這是"重要注釋"。即使是壓縮模式編譯苔货,也會保留這行注釋犀概,通常可以用于聲明版權(quán)信息夜惭。

/*!

重要注釋姻灶!

*/

四、代碼的重用

4.1 繼承

SASS允許一個(gè)選擇器诈茧,繼承另一個(gè)選擇器产喉。比如,現(xiàn)有class1:

.class1 {

border: 1px solid #ddd;

}

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

.class2 {

@extend .class1;

font-size:120%;

}

4.2 Mixin

Mixin有點(diǎn)像C語言的宏(macro)曾沈,是可以重用的代碼塊这嚣。

使用@mixin命令,定義一個(gè)代碼塊塞俱。

@mixin left {

float: left;

margin-left: 10px;

}

使用@include命令姐帚,調(diào)用這個(gè)mixin。

div {

@include left;

}

mixin的強(qiáng)大之處障涯,在于可以指定參數(shù)和缺省值罐旗。

@mixin left($value: 10px) {

float: left;

margin-right: $value;

}

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

div {

@include left(20px);

}

下面是一個(gè)mixin的實(shí)例唯蝶,用來生成瀏覽器前綴九秀。

@mixin rounded($vert, $horz, $radius: 10px) {

border-#{$vert}-#{$horz}-radius: $radius;

-moz-border-radius-#{$vert}#{$horz}: $radius;

-webkit-border-#{$vert}-#{$horz}-radius: $radius;

}

使用的時(shí)候,可以像下面這樣調(diào)用:

#navbar li { @include rounded(top, left); }

#footer { @include rounded(top, left, 5px); }

4.3 顏色函數(shù)

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

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

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

grayscale(#cc3) // #808080

complement(#cc3) // #33c

4.4 插入文件

@import命令,用來插入外部文件征字。

@import "path/filename.scss";

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

@import "foo.css";

五柔纵、高級用法

5.1 條件語句

@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;

}

5.2 循環(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");

}

}

5.3 自定義函數(shù)

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

@function double($n) {

@return $n * 2;

}

#sidebar {

width: double(5px);

}

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末搁料,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子系羞,更是在濱河造成了極大的恐慌郭计,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,657評論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件椒振,死亡現(xiàn)場離奇詭異昭伸,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)澎迎,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,889評論 3 394
  • 文/潘曉璐 我一進(jìn)店門庐杨,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人夹供,你說我怎么就攤上這事灵份。” “怎么了哮洽?”我有些...
    開封第一講書人閱讀 164,057評論 0 354
  • 文/不壞的土叔 我叫張陵填渠,是天一觀的道長。 經(jīng)常有香客問我,道長氛什,這世上最難降的妖魔是什么莺葫? 我笑而不...
    開封第一講書人閱讀 58,509評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮枪眉,結(jié)果婚禮上捺檬,老公的妹妹穿的比我還像新娘。我一直安慰自己瑰谜,他們只是感情好欺冀,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,562評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著萨脑,像睡著了一般隐轩。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上渤早,一...
    開封第一講書人閱讀 51,443評論 1 302
  • 那天职车,我揣著相機(jī)與錄音,去河邊找鬼鹊杖。 笑死悴灵,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的骂蓖。 我是一名探鬼主播积瞒,決...
    沈念sama閱讀 40,251評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼登下!你這毒婦竟也來了茫孔?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,129評論 0 276
  • 序言:老撾萬榮一對情侶失蹤被芳,失蹤者是張志新(化名)和其女友劉穎缰贝,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體畔濒,經(jīng)...
    沈念sama閱讀 45,561評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡剩晴,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,779評論 3 335
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了侵状。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片赞弥。...
    茶點(diǎn)故事閱讀 39,902評論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖趣兄,靈堂內(nèi)的尸體忽然破棺而出嗤攻,到底是詐尸還是另有隱情,我是刑警寧澤诽俯,帶...
    沈念sama閱讀 35,621評論 5 345
  • 正文 年R本政府宣布妇菱,位于F島的核電站承粤,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏闯团。R本人自食惡果不足惜辛臊,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,220評論 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望房交。 院中可真熱鬧彻舰,春花似錦、人聲如沸候味。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,838評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽白群。三九已至尚胞,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間帜慢,已是汗流浹背笼裳。 一陣腳步聲響...
    開封第一講書人閱讀 32,971評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留粱玲,地道東北人躬柬。 一個(gè)月前我還...
    沈念sama閱讀 48,025評論 2 370
  • 正文 我出身青樓,卻偏偏與公主長得像抽减,于是被迫代替她去往敵國和親允青。 傳聞我的和親對象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,843評論 2 354

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

  • 前言 什么是CSS預(yù)處理器 定義:CSS預(yù)處理器定義了一種新的語言卵沉,其基本思想是昧廷,用一種專門的編程語言,為CSS增...
    SA_Arthur閱讀 3,124評論 0 18
  • 學(xué)習(xí)Sass(官網(wǎng):Sass)之前需要了解什么是Sass,Sass全稱:Syntactically Awesome...
    haoxilu閱讀 498評論 0 3
  • 1. CSS預(yù)處理器 定義了一種新的專門的編程語言偎箫,編譯后成正常的CSS文件。為CSS增加一些編程的特性皆串,無需考慮...
    恰皮閱讀 106,123評論 20 105
  • 基礎(chǔ) 聲明變量 普通變量 默認(rèn)變量 變量覆蓋:只需要在默認(rèn)變量之前重新聲明下變量即可 變量的調(diào)用 局部變量和全局變...
    Jill1231閱讀 1,282評論 0 1
  • 剛當(dāng)了個(gè)電燈泡陪著情侶看完電影恶复,回來的路上感覺真的不錯(cuò)怜森。 慢慢想想,都已經(jīng)25了谤牡,曾經(jīng)的被世俗詬病的90后副硅,現(xiàn)在大...
    小非非閱讀 295評論 0 2