Może to być Compass 101, ale czy ktoś napisał mixin, który ustala wartość alfa koloru? Idealnie chciałbym, aby mixin przyjął dowolną formę definicji koloru i zastosował przezroczystość:
@include set-alpha( red, 0.5 ); //prints rgba(255, 0, 0, 0.5);
@include set-alpha( #ff0000, 0.5 ); //prints rgba(255, 0, 0, 0.5);
@include set-alpha( rgb(255,0,0), 0.5 ); //prints rgba(255, 0, 0, 0.5);
css
sass
compass-sass
rgba
Pat Newell
źródło
źródło
Używam wtyczki kompasu rgbapng
zainstalować
gem install compass-rgbapng
Stosowanie
@include rgba-background(rgba(0,0,0,0.75));
Kompiluje do:
background: url('/images/rgbapng/000000bf.png?1282127952'); background: rgba(0, 0, 0, 0.75);
źródło
Funkcja rgba nie działa na kolorze bez przezroczystości, ponownie zwraca szesnastkowy. W końcu nie ma to na celu przekształcenia hexa w rgba, po prostu zarabiamy na hexie (jeszcze).
rgba(#fff, 1) // returns #fff
Więc stworzyłem wszystkie małe funkcje, które budują łańcuch rgb. Na razie nie muszę zajmować się foliami.
@function toRGB ($color) { @return "rgb(" + red($color) + ", " + green($color) + ", " + blue($color)+ ")"; }
źródło
Istnieje również ie-hex-str () dla formatu ## AARRGGBB przeglądarki IE:
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#{ie-hex-str(#fdfdfd)}', endColorstr='#{ie-hex-str(#f6f6f6)}',GradientType=0); /* IE6-9 */
źródło
from_hex(hex_string, alpha = nil);
Z dokumentacji :
źródło