Sass的表達(dá)式和控制命令 @each 篇 + @while 篇

@each指令形式:

@each 指令同樣可以用于循環(huán)輸出已球,和 @for 的差別在于邻耕,@each 通過遍歷 list 或者 map 實(shí)現(xiàn)循環(huán)輸出:

  • list: 指列表

  • map: 可以包含若干值的對(duì)象類型,使用()包圍一個(gè)map磁玉,里面的鍵值用逗號(hào)隔開身冬,鍵和值可以是任何的Sass數(shù)據(jù)類型澈歉,盡管一個(gè)值可以用在多個(gè)鍵上怎憋,但是通過一個(gè)鍵我們必須只能找到一個(gè)值。
    : <code>map不能直接在css中使用,如果把一個(gè)map賦值給一個(gè)元素會(huì)報(bào)錯(cuò)岸蜗。</code>

奉上一段例子!

  • list:

@each $usr in a, b, c, d {
    .#{$usr}-images {
        background-image: url('/img/#{$usr}.png');
     }
}

@each 后面的 $usr 變量用于保存每次遍歷到的元素尉咕,然后使用差值語法(#{var})來拼接正確的圖片路徑編譯后的結(jié)果:


.a-images {
  background-image: url("/img/a.png"); }

.b-images {
  background-image: url("/img/b.png"); }

.c-images {
  background-image: url("/img/c.png"); }

.d-images {
  background-image: url("/img/d.png"); }

如果遍歷的對(duì)象是 <code>一個(gè)</code> map,那么我們就可以使用兩個(gè)變量來存儲(chǔ)元素的 key 和 value璃岳,示例如下:


$params: ( usr1:a, usr2:b, usr3:c, usr4:d );

@each $key, $usr in $params  {
    .#{$usr}-images {
        background-image: url('/img/#{$usr}.png');
    }
}

此外年缎,針對(duì)多個(gè)列表的遍歷,我們也可以使用多個(gè)參數(shù)來保存相應(yīng)的元素:


$alt: alert, yellow, red;

$sub: submit, white, green;

$bck: back, blue, transparent;

@each $type, $txt, $back in $alt,$sub,$bck {
  .#{$type}-button {
    color: $txt;
    background-color: $back;
  }
}

編譯結(jié)果如下:


.alert-button {
  color: yellow;
  background-color: red; }

.submit-button {
  color: white;
  background-color: green; }

.back-button {
  color: blue;
  background-color: transparent; }

@while指令

@while 指令也可以用于循環(huán)輸出铃慷,它后面跟一個(gè)表達(dá)式单芜,如果表達(dá)式結(jié)果為 false,則停止循環(huán)體犁柜。

$x:1;

@while $x < 5 {
  .col-#{$x} { width: 100/4 * $x +px;}
  $x: $x + 1;
};

編譯結(jié)果為:


.col-1 {
  width: 25px; }

.col-2 {
  width: 50px; }

.col-3 {
  width: 75px; }

.col-4 {
  width: 100px; }

我們用一個(gè)表達(dá)式來控制 @while 指令的執(zhí)行洲鸠,表達(dá)式中有一個(gè)變量 $x,該變量一方面用于插值計(jì)算馋缅,另一方面在循環(huán)體內(nèi)執(zhí)行累加扒腕,最終當(dāng) $x < 13 的結(jié)果為 false 時(shí),程序就會(huì)推出 @while 循環(huán)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末萤悴,一起剝皮案震驚了整個(gè)濱河市瘾腰,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌覆履,老刑警劉巖蹋盆,帶你破解...
    沈念sama閱讀 218,546評(píng)論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異硝全,居然都是意外死亡栖雾,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,224評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門伟众,熙熙樓的掌柜王于貴愁眉苦臉地迎上來析藕,“玉大人,你說我怎么就攤上這事赂鲤≡刖叮” “怎么了?”我有些...
    開封第一講書人閱讀 164,911評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵数初,是天一觀的道長(zhǎng)找爱。 經(jīng)常有香客問我,道長(zhǎng)泡孩,這世上最難降的妖魔是什么车摄? 我笑而不...
    開封第一講書人閱讀 58,737評(píng)論 1 294
  • 正文 為了忘掉前任,我火速辦了婚禮仑鸥,結(jié)果婚禮上吮播,老公的妹妹穿的比我還像新娘。我一直安慰自己眼俊,他們只是感情好意狠,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,753評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著疮胖,像睡著了一般环戈。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上澎灸,一...
    開封第一講書人閱讀 51,598評(píng)論 1 305
  • 那天院塞,我揣著相機(jī)與錄音,去河邊找鬼性昭。 笑死拦止,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的糜颠。 我是一名探鬼主播汹族,決...
    沈念sama閱讀 40,338評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼其兴!你這毒婦竟也來了鞠抑?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,249評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤忌警,失蹤者是張志新(化名)和其女友劉穎搁拙,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體法绵,經(jīng)...
    沈念sama閱讀 45,696評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡箕速,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,888評(píng)論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了朋譬。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片盐茎。...
    茶點(diǎn)故事閱讀 40,013評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖徙赢,靈堂內(nèi)的尸體忽然破棺而出字柠,到底是詐尸還是另有隱情探越,我是刑警寧澤,帶...
    沈念sama閱讀 35,731評(píng)論 5 346
  • 正文 年R本政府宣布窑业,位于F島的核電站钦幔,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏常柄。R本人自食惡果不足惜鲤氢,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,348評(píng)論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望西潘。 院中可真熱鬧卷玉,春花似錦、人聲如沸喷市。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,929評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽品姓。三九已至蚂子,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間缭黔,已是汗流浹背食茎。 一陣腳步聲響...
    開封第一講書人閱讀 33,048評(píng)論 1 270
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留馏谨,地道東北人别渔。 一個(gè)月前我還...
    沈念sama閱讀 48,203評(píng)論 3 370
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像惧互,于是被迫代替她去往敵國(guó)和親哎媚。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,960評(píng)論 2 355

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