Pode ser o Compass 101, mas alguém escreveu um mixin que define o valor alfa de uma cor? Idealmente, eu gostaria que o mixin tomasse qualquer forma de definição de cor e aplicasse transparência:
@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
fonte
fonte
Eu uso o plugin rgbapng compass
Instalar
gem install compass-rgbapng
Uso
@include rgba-background(rgba(0,0,0,0.75));
Compila para:
background: url('/images/rgbapng/000000bf.png?1282127952'); background: rgba(0, 0, 0, 0.75);
fonte
A função rgba não funciona em cores sem transparência, ela retorna um hex novamente. Afinal, não se trata de transformar hex em rgba, estamos apenas lucrando com hex que não permite alfa (ainda).
rgba(#fff, 1) // returns #fff
Então, eu fiz todas as pequenas funções que compõem a string rgb. Não preciso lidar com transparências por enquanto.
@function toRGB ($color) { @return "rgb(" + red($color) + ", " + green($color) + ", " + blue($color)+ ")"; }
fonte
Há também ie-hex-str () para o formato ## AARRGGBB do IE:
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#{ie-hex-str(#fdfdfd)}', endColorstr='#{ie-hex-str(#f6f6f6)}',GradientType=0); /* IE6-9 */
fonte
from_hex(hex_string, alpha = nil);
Da documentação :
fonte