iT邦幫忙

2021 iThome 鐵人賽

DAY 16
0
Modern Web

使用SASS(SCSS)建立自己的CSS Library系列 第 16

[Day 16] Sass - Booleans

  • 分享至 

  • xImage
  •  

Hi 今天的主題是有寫過任一種程式語言的人都會很熟悉的“條件判斷式”,
下面會介紹 @if @else if @else

@if
if後方會加上需要判斷的條件,判斷結果為成立時,就會套用樣式。

p {
  @if $device == desktop {
    font-size: 1.5rem;
  } 
  color: red;
  }
  
$device: mobile;

跑出來的css結果為

p {
   color: red;
   }

因為device為mobile,if後方的條件為不成立,
所以最後編譯出的css並不會有font-size樣式。

@else if
當if後方的條件不成立時,就會往下找@else if的條件,
依照@else if的排序一個一個往下找。
(如果都不成立,就會找@else,稍後會介紹)

p {
  @if $type == ocean {
    color: blue;
  } @else if $type == moon {
    color: white;
  } @else if $type == monster {
    color: green;
  } @else {
    color: black;
  }
}
$type: monster;

因為type為monster,if後方的條件為不成立,往下找else if,
直到找到符合的條件,所以最後編譯出的css為color: green。

// 轉成 CSS
p {
  color: green;
}

@else
當if後方的條件不成立時,就會往下找@else if的條件,
如果@else if還是都不成立,就會找@else。
(如果沒有@else if也會直接找@else)
我們直接用上一個例子

p {
  @if $type == ocean {
    color: blue;
  } @else if $type == moon {
    color: white;
  } @else if $type == monster {
    color: green;
  } @else {
    color: black;
  }
}
$type: night;

因為type為night,if後方的條件為不成立,往下找else if也都不成立,
最後找@else,所以最後編譯出的css為color: black。

// 轉成 CSS
p {
  color: black;
}

上一篇
[Day 15] Sass - Loop
下一篇
[Day 17] Sass - Parent Selector
系列文
使用SASS(SCSS)建立自己的CSS Library21
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言