Esto puede ser Compass 101, pero ¿alguien ha escrito una combinación que establezca el valor alfa de un color? Idealmente, me gustaría que el mixin tomara cualquier forma de definición de color y aplicara transparencia:
@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
fuente
fuente
Yo uso el complemento rgbapng compass
Instalar en pc
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);
fuente
La función rgba no funciona con colores sin transparencia, devuelve un hexadecimal de nuevo. Después de todo, no está destinado a transformar hexadecimal en rgba, solo estamos obteniendo beneficios de hex no permite alfa (todavía).
rgba(#fff, 1) // returns #fff
Entonces, hice algunas funciones que construyen la cadena rgb. No necesito ocuparme de las transparencias por ahora.
@function toRGB ($color) { @return "rgb(" + red($color) + ", " + green($color) + ", " + blue($color)+ ")"; }
fuente
También hay ie-hex-str () para el formato ## AARRGGBB de IE:
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#{ie-hex-str(#fdfdfd)}', endColorstr='#{ie-hex-str(#f6f6f6)}',GradientType=0); /* IE6-9 */
fuente
from_hex(hex_string, alpha = nil);
De la documentación :
fuente