[SaSS] Using Object like style to create class dynamiclly

本文介绍了一种使用Sass进行颜色配置的方法,并通过具体的示例代码展示了如何定义一系列的颜色变量及调色板,同时提供了如何在组件中应用这些颜色配置的实例。
$black: #000;
$white: #fff;
$yellow: #ffe183;
$dark-red: #e70404;
$dark-green: #0d8268;
$cloud-blue: #dcedff;

$toast-palette: (
    info: (
        color: $black,
        background: $cloud-blue
    ),
    error: (
        color: $white,
        background: $dark-red
    ),
    success: (
        color: $white,
        background: $dark-green
    ),
    warning: (
        color: $black,
        background: $yellow
    )
);

@mixin toast-palette {
    @each $name, $palette in $toast-palette {

        &--#{$name} {
            background-color: map-get($palette, background);

            &,
            .icon,
            button:not(.button--secondary) {
                color: map-get($palette, color);
            }
        }
    }
}

.nd-toast {
    @include toast-palette();
}

 

More from https://sass-lang.com/documentation/functions/map

 

How to use:

.callout.callout-contextual(ng-class="'nd-toast--' + vm.type" role="alertdialog")

 

转载于:https://www.cnblogs.com/Answer1215/p/11207420.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值