Sass學(xué)習(xí)筆記(2)

1.條件語句

@if類似與JavaScript中的if,條件為true返回一堆代碼塊,為false返回另一個代碼塊怕犁。同樣可以與@else , @else if結(jié)合使用雅潭。

$boolean: true ; 
p{
   @if $boolean{
       display:block;
   } @else {
      display:none;
   }
}

//編譯后
p{display:block;}

2.循環(huán)語句

@for類似與JavaScript中的for循環(huán)均蜜,不過語法稍有不同担平,它有兩種形式示绊。
(1)第一種形式從<start>開始循環(huán)芥挣,到<end>結(jié)束。

 @for $var from <start> through <end>

例子

@for $item from 1 through 3 {
   .test-#{$item} { height:5px * $item ;}
}

//編譯后
.test-1{height:5px;}
.test-2{height:10px;}
.test-3{height:15px;}

說明:這種形式的@for<start>開始耻台,到<end>結(jié)束,循環(huán)包括<end>空另。
(2)第二種形式從<start>開始循環(huán)盆耽,到<end>結(jié)束,結(jié)束時不包括<end>的值扼菠。

@for $var from <start> to <end>

例子

@for $item from 1 to 3 {
   .test-#{$item} { height:5px * $item ;}
}

//編譯后
.test-1{height:5px;}
.test-2{height:10px;}

小結(jié):
兩種@for形式中摄杂,<start><end>必須是整數(shù)。其中@var 可以是任何變量名循榆,我通常習(xí)慣用@item來定義變量析恢,實現(xiàn)遞增或遞減。

3.Sass多值變量

多值變量分為list類型和map類型秧饮,簡單來說list類型有點(diǎn)像js中的數(shù)組映挂,而map類型有點(diǎn)像js中的對象。

(1) list類型

sasslist類型是通過空格或逗號隔開的一串值盗尸。如:2,4,6,8 或2 4 6 8 柑船。
也可以是多維數(shù)組,如:a b,c d(a,b)(c,d)表示包含數(shù)組a b,c d兩個數(shù)組的數(shù)組泼各。
可用nth($var,$index)取值如:

//sass style
//一維數(shù)據(jù)
$test: 10px 9px 8px 7px;
//二維數(shù)據(jù)
$test1: 5px 10px, 0 auto;
$test2:( 5px 10px)(0 auto);
div {
  margin: nth($test1, 2);
  padding: nth($test, 1);
}

//編譯后
div {
  margin: 0 auto;
  padding: 10px;
}

也可以類似使用@for一樣

@each $var in <list>

其中<list>是一組通過,分割的字符鞍时;如:

@each $icon shake,bottle,shopping {
  .#{$icon} {
    background: url('./assets/img/#{$icon}.png');
  }
}

編譯后:

.shake{
   background: url('./assets/img/shake.png');
}
.bottle{
   background: url('./assets/img/bottle.png');
}
.shopping {
   background: url('./assets/img/shopping .png');
}

(2) map類型

map數(shù)據(jù)以keyvalue成對出現(xiàn),其中value又可以是list扣蜻。格式為:$map: (key1: value1, key2: value2, key3: value3);逆巍。可通過map-get($map,$key)取值莽使。


$map:( baidu: #fff, BABA: #ccc, tx: #000);
.baidu{
    background-color: map-get($map, baidu);
}
.BABA{
    background-color: map-get($map, BABA);
}
 
//編譯后
.baidu{
  background-color: #fff;
}
.BABA{
  background-color: #ccc;
}

或用循環(huán)

@each $key, $value in (key: value, key: value);
@each $selector, $color in ( baidu: #fff, BABA: #ccc, tx: #000); {   
  #{$selector} {   
    background-color: $color ;   
  }  
}
//編譯后
.baidu{
  background-color: #fff;
}
.BABA{
  background-color: #ccc;
}
.tx{
 background-color: #000;
}

4.擴(kuò)展

Sass中锐极,@extend指令是繼承既有樣式。

.icon{
    vertical-align: middle;
}
.icon.span{
    display: inline-block;
}
.shake-icon{
    background: url('./assets/img/shake.png');
    @extend .icon
}
///編譯后
.icon,.shake-icon{
    vertical-align: middle; 
}
.icon.span,.shake-icon.span{
    display: inline-block;
}
.shake-icon{
    background: url('./assets/img/shake.png');   
}

說明:@extend的繼承是繼承所有的樣式吮旅。

5.混合器(mixin)

Sass中使用@mixin聲明混合溪烤,可以傳遞參數(shù),參數(shù)名以$符號開始庇勃,多個參數(shù)以逗號分開檬嘀,也可以給參數(shù)設(shè)置默認(rèn)值。聲明的@mixin通過@include來調(diào)用责嚷。
(1) 無參數(shù)的混合器

@mixin btn {
  color:red;
    &:hover{
      color:blue;
    }
}
.pri-btn{
 @include btn
}
///編譯后
.pri-btn{
  color:red;
}
.pri-btn:hover{
 color:blue;
}

(1) 有參數(shù)的混合器

@mixin btn($normal,$active) {
  color:$normal;
    &:hover{
      color:$active;
    }
}
.pri-btn{
 @include btn(#fff,#ccc);
}
///編譯后
.pri-btn{
  color:#fff;
}
.pri-btn:hover{
   color:#ccc;
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末鸳兽,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子罕拂,更是在濱河造成了極大的恐慌揍异,老刑警劉巖全陨,帶你破解...
    沈念sama閱讀 211,561評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異衷掷,居然都是意外死亡辱姨,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,218評論 3 385
  • 文/潘曉璐 我一進(jìn)店門戚嗅,熙熙樓的掌柜王于貴愁眉苦臉地迎上來雨涛,“玉大人,你說我怎么就攤上這事懦胞√婢茫” “怎么了?”我有些...
    開封第一講書人閱讀 157,162評論 0 348
  • 文/不壞的土叔 我叫張陵躏尉,是天一觀的道長蚯根。 經(jīng)常有香客問我,道長胀糜,這世上最難降的妖魔是什么颅拦? 我笑而不...
    開封第一講書人閱讀 56,470評論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮僚纷,結(jié)果婚禮上矩距,老公的妹妹穿的比我還像新娘。我一直安慰自己怖竭,他們只是感情好锥债,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,550評論 6 385
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著痊臭,像睡著了一般哮肚。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上广匙,一...
    開封第一講書人閱讀 49,806評論 1 290
  • 那天允趟,我揣著相機(jī)與錄音,去河邊找鬼鸦致。 笑死潮剪,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的分唾。 我是一名探鬼主播抗碰,決...
    沈念sama閱讀 38,951評論 3 407
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼绽乔!你這毒婦竟也來了弧蝇?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,712評論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎看疗,沒想到半個月后沙峻,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,166評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡两芳,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,510評論 2 327
  • 正文 我和宋清朗相戀三年摔寨,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片怖辆。...
    茶點(diǎn)故事閱讀 38,643評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡祷肯,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出疗隶,到底是詐尸還是另有隱情,我是刑警寧澤翼闹,帶...
    沈念sama閱讀 34,306評論 4 330
  • 正文 年R本政府宣布斑鼻,位于F島的核電站,受9級特大地震影響猎荠,放射性物質(zhì)發(fā)生泄漏坚弱。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,930評論 3 313
  • 文/蒙蒙 一关摇、第九天 我趴在偏房一處隱蔽的房頂上張望荒叶。 院中可真熱鬧,春花似錦输虱、人聲如沸些楣。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,745評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽愁茁。三九已至,卻和暖如春亭病,著一層夾襖步出監(jiān)牢的瞬間鹅很,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,983評論 1 266
  • 我被黑心中介騙來泰國打工罪帖, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留促煮,地道東北人。 一個月前我還...
    沈念sama閱讀 46,351評論 2 360
  • 正文 我出身青樓整袁,卻偏偏與公主長得像菠齿,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子葬项,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,509評論 2 348

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

  • 什么是SASS SASS是一種CSS的開發(fā)工具泞当,提供了許多便利的寫法,大大節(jié)省了設(shè)計者的時間,使得CSS的開發(fā)襟士,變...
    陳小陌丿閱讀 467評論 0 0
  • 安裝運(yùn)行 1.下載ruby并安裝 2.安裝之后打開命令行執(zhí)行g(shù)em命令盗飒,檢查是否已經(jīng)安裝好 安裝完ruby之后,在...
    wshining閱讀 711評論 0 1
  • 3.移動端前端基礎(chǔ)架構(gòu) 15:16單詞釋義:a)mkdir: make directory 建立一個新的子目錄(...
    小豌豆書吧閱讀 892評論 0 1
  • 基礎(chǔ) 聲明變量 普通變量 默認(rèn)變量 變量覆蓋:只需要在默認(rèn)變量之前重新聲明下變量即可 變量的調(diào)用 局部變量和全局變...
    Jill1231閱讀 1,270評論 0 1
  • -------------------------一陋桂、控制指令--------------------------...
    夜幕小草閱讀 3,148評論 0 5