2017-09-19 3 views
2

J'utilise mdl, qui a des variables de couleur configuration comme $color-primary: '255, 0, 0' !default;Sass convertir la chaîne à la couleur

Cela rend difficile pour moi de prendre cette couleur et l'alléger.

J'ai essayé d'utiliser unquote(), mais il me donne une erreur:

Argument $color of lighten($color, $amount) must be a color

$color-primary: '255, 0, 0' !default; 
$light-accent: lighten(unquote('rgb(#{$color-primary})'), 13.5%) !default; 

est-il que je peux convertir en someway une couleur?

Répondre

2

Ceci est un problème intéressant. Vous avez trouvé dans le MDL source que $color-primary est réellement juste une chaîne qui inclut des citations: "63,81,181".

Voici la partie délicate: MDL utilise ces chaînes partout. Ils n'évaluent jamais ces couleurs d'une manière que SASS les comprend. Donc ceci:

unquote('rgb(#{$color-primary})') 

ne retourne pas le SASS rgb() instance method, elle retourne juste une chaîne de plaine ol ». C'est un long chemin de dire que je ne pense pas que vous pouvez faire ce que vous cherchez à faire. Vous pouvez utiliser les autres couleurs dans le MDL $palette-indigo, cependant, au format $palette-indigo-xxx (photo de material.io).

enter image description here