iT邦幫忙

0

格線系統(2) DAY44

今天要先來介紹 Sass @each 與 map


Sass map-get

這裡要先宣告變數(有點類似js宣告物件)

$themes:(
    //key    ,   value
    'primary' : rgb(0, 110, 255),
    'secondary' : gray,
    'danger' : red
);
.box-primary{
    background-color: map-get($themes, 'primary' );
}

宣告完變數要記得補上分號

map-get(變數名稱, key值 )
CodePen: https://codepen.io/wemyferb/pen/ExyjrpG


Sass @each
@each 搭配 in

$themes:(
    //key    ,   value
    'primary' : rgb(0, 110, 255),
    'secondary' : rgb(70, 69, 69),
    'danger' : rgb(160, 23, 23)
);

@each $key , $value in $themes {
    .box-#{$key}{
        background-color: $value;
    }
}

CodePen: https://codepen.io/wemyferb/pen/bGedZEa
上述的集合變數($themes)
也稱為 Sass Map


CSS撰寫格線系統

CodePen: https://codepen.io/wemyferb/pen/XWKbGYW

這裡的 max-width : 100%
可以避免內容寬度超過容器時
導致 flex 格線沒有辦法如預期呈現的問題

flex空間計算 可參考https://wcc723.github.io/css/2020/03/08/flex-size/


Sass撰寫格線系統

CodePen: https://codepen.io/wemyferb/pen/zYBGVBQ
這裡有利用到 Sass extend 技巧

@extend 的用途在於整合相同且重複的樣式
有點類似 @mixin
@mixin 可以把它想像成一個包裝好的功能只需要引入即可

那我們的 Sass 介紹就到這裡結束啦~~/images/emoticon/emoticon07.gif
若有任何問題 或 內容有誤
請別吝嗇的跟我說唷~~


圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言