scss 实用技巧合集 (持续更新中...)

一、@mixin 、map 与 @each

@mixin 可以将公共的CSS提取出来,在需要的地方 @include 就可以引入
scss mixin用法

功能说明:有 primary、success、warning、danger 四种主题色,button 组件可配置 theme, 根据不同的 theme 显示不同的背景色 与 hover 背景色

<button :class="'button-' + theme"></button>
// 定义一个 theme 的 map,scss 中,$each 可遍历 map
$theme-colors: () !default;
$theme-colors: map.merge(
    (
        'primary': '#00aaff',
        'success': '#2dbcff',
        'warning': '#ffcd5d',
        'danger': '#ff7575'
    ),
    $theme-colors
);

// 遍历 theme 的 map, 定义相应的样式类
@each $theme, $value in $theme-colors {
     .button-#{$theme} {
         @include button-variant($value, rgba($value, 0.1));
    }
}

// 定义一个 mixin 函数,根据传入的值,动态定义样式
@mixin button-variant($bg-color, $hover-bg-color) {
    background: $bg-color;
    &:hover {
        background: $hover-bg-color;
    }
}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值