Я пытаюсь создать функцию scss для создания палитры цветов материала. Эта функция должна возвращать карту, но при отладке я получил следующее: SassError: $ map: gen-palette (зеленый) не является картой. Это мой ...

0
J.BizMai 12 Янв 2021 в 17:27

1 ответ

Лучший ответ

Вы немного перепутали. В Sass функции необходимо объявить перед использованием.

@function gen-palette($color) {
  @return (
    "50": lighten($color, 52%),
    "100": lighten($color, 37%),
    "200": lighten($color, 26%),
    "300": lighten($color, 12%),
    "400": lighten($color, 6%),
    "500": $color,
    "600": darken($color, 6%),
    "700": darken($color, 12%),
    "800": darken($color, 18%),
    "900": darken($color, 24%),
    "A100": lighten(saturate($color, 30%), 50%),
    "A200": lighten(saturate($color, 30%), 30%),
    "A400": lighten(saturate($color, 15%), 10%),
    "A700": lighten(saturate($color, 5%), 5%),
  ); 
}

body {
  background-color: map-get(gen-palette(#2196f3), "500");
}
1
Simplicius 12 Янв 2021 в 16:45