scss 从SASS颜色图获取颜色

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了scss 从SASS颜色图获取颜色相关的知识,希望对你有一定的参考价值。

.color {
  color: #0000FF;
  background-color: #5555FF;
}
// ----
// libsass (v3.2.5)
// ----

// Color Map
$colors: (
  blue: #0000FF,
  red: (
    base: #FF0000,
    light: #EEEEFF,
    dark: #5555FF
  )
);

// Color Function
@function get-color( $color, $shade: 'base', $map : $colors ){
  // check color exists
  @if (map-has-key($map, $color)) {
    $value: map-get($map, unquote($color));
    // check if color or map
    @if type-of($value) == color {
      // return color
      @return $value;
    }
    // check shade of color exists
    @if (map-has-key($value, $shade)) {
      // return shade of color
      @return map-get($value, $shade);
    }
  } 
  // else do nothing
  @return null;
}

.color {
  color: get-color(blue);
  background-color: get-color(red, dark);
  border-top-color: get-color(pink); // no color so null
  border-bottom-color: get-color(red, darker); // no shade in map so null
  border-right-color: get-color(green, dark); // not a map so returns color
}

以上是关于scss 从SASS颜色图获取颜色的主要内容,如果未能解决你的问题,请参考以下文章

scss URL编码颜色SASS功能/将颜色转换为十六进制SASS功能

scss Sass:生成解耦颜色方案#sass

NUXTJS + Vuetify - SCSS 中的颜色

SCSS / SASS:如何在每个循环中创建变量

scss SASS颜色函数和CSS变量

scss Sass变量颜色