iT邦幫忙

2024 iThome 鐵人賽

DAY 0
0
  1. 顏色
  • 例子 :
    $primary-color: #3498db; // 定義變數 $primary-color,表示主要顏色
    $light-primary: lighten($primary-color, 10%); // 使用 lighten 函數將主要顏色變亮 10%
    $dark-primary: darken($primary-color, 10%); // 使用 darken 函數將主要顏色變暗 10%

.button {
background-color: $primary-color; // 使用主要顏色作為背景色
border-color: $dark-primary; // 使用變暗後的顏色作為邊框顏色
&:hover {
background-color: $light-primary; // 當按鈕被 hover 時,背景色變亮
}
}

  • 編譯後 :
    .button {
    background-color: #3498db; /* 主要顏色 /
    border-color: #297cbf; /
    深色版本的顏色 */
    }

.button:hover {
background-color: #5dade2; /* 亮色版本的顏色 */
}
$primary-color 定義為 #3498db,其變亮和變暗後的結果被應用到 hover 和 border
lighten() 和 darken() 函數被編譯後產生了不同的色調

  1. 陣列 List
  • List 的初始值為1不為0
  • set-nth($list, $n, $value):修改 List 副本的指定項目並返回
  • append($list, $value):在 List 副本最後位置新增項目並返回
  • join($list1, $list2):將 List 副本進行合併並返回
  • length($list):計算 List 長度並返回
  • 例子:
    $sizes: 10px, 20px, 30px; // 定義變數 $sizes,這是一個包含三個數值的陣列

@each $size in $sizes { // 使用 @each 循環遍歷陣列中的每個值
.margin-#{$size} { // 創建一個 class,名稱後跟陣列中的數值
margin: $size; // 將對應的數值應用為 margin
}
}

  • 編譯後 :
    margin-10px {
    margin: 10px;
    }

.margin-20px {
margin: 20px;
}

.margin-30px {
margin: 30px;
}

  • @each 迴圈根據 $sizes 中的每個數值生成對應的 class(.margin-10px、.margin-20px 等)
  • 每個 class 中的 margin 根據相應的 $size 設置
  1. 地圖 Maps
  • map-merge($map1, $map2):將 map 副本進行合併並返回 (如有重複項,後者將覆蓋前者)
  • map-remove($map, $key1, $key2...):刪除 map 副本中的指定項目並返回
  • map-keys($map):將 map 中的鍵以 List 型式返回
  • map-values($map):將 map 中的值以 List 型式返回
  • 例子 :
    $theme-colors: (
    "primary": #3498db,
    "secondary": #2ecc71,
    "danger": #e74c3c
    ); // 定義顏色地圖

.button {
background-color: map-get($theme-colors, "primary"); // 從地圖中提取 primary 顏色
&:hover {
background-color: map-get($theme-colors, "secondary"); // hover 狀態下提取 secondary 顏色
}
}

  • 編譯後 :
    .button {
    background-color: #3498db; /* 主要顏色 */
    }

.button:hover {
background-color: #2ecc71; /* secondary 顏色 */
}

  • map-get() 函數從 $theme-colors 地圖中提取顏色
  • background-color 變成了 #3498db 和 #2ecc71

上一篇
變數例子
下一篇
變數例子(3)
系列文
SASS/SCSS的認識與實作30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言