格线系统(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
若有任何问题 或 内容有误
请别吝啬的跟我说唷~~


<<:  拿 ml5 来练习 Markdown 语法 (一)

>>:  [JS] You Don't Know JavaScript [this & Object Prototypes] - this All Makes Sense Now! [上]

Day 0x7 UVa11417 GCD

Virtual Judge ZeroJudge Zerojudge 直接破图 题意 输入一数字 N...

Day 16 - Apply

到目前为止我们已经知道了 Functor 可以将 effect 跟 pure function 进行...

第 25 集:Bootstrap 客制化 RFS 响应式文字

此篇会介绍 Bootstrap 中的 rfs,是如何做到依据视窗大小,来计算适合的元素尺寸。 浅谈...

# Day 9 Cache and TLB Flushing Under Linux (一)

如同 Day1 简介的,这份文件是之前工作中有碰过 cache & TLB 相关的项目,但是...

[Day28]约束规则、更改结构实作

前几篇的实作都是从HR或OE帐户中查询,这篇的实作帐户使用自己新建的Hotel帐户命名、新增并查询。...