Sé que puedes escribir ...
background-color: #ff0000;
... si quieres algo que sea rojo.
Y puedes escribir ...
background-color: rgba(255, 0, 0, 0.5);
... si quieres algo rojo y translúcido.
¿Hay alguna forma concisa de escribir colores parcialmente transparentes en hexadecimal? Quiero algo como:
background-color: #ff000088; <--- the 88 is the alpha
... o ...
background-color: #ff0000 50%;
Estoy obteniendo todos mis colores en hexadecimal, y tener que convertirlos a la escala decimal 0-255 es molesto.
rgb(0xff,\x80,#44)
asombrosamente representación octal parece York un pocorgb(0100, 0200,0300)
se#4080C0
background-color: opacify(#ff0000, 0.5);
o tambiénbackground-color: transparentize(#ff0000, 0.5);
puede suministrar variables de color hexadecimal de Sass a esas funciones de Sass.Respuestas:
¡El Módulo de color CSS Nivel 4 probablemente admitirá la notación hexadecimal RGBA de 4 y 8 dígitos!
Hace tres semanas (18 de diciembre de 2014) el borrador del editor del Módulo de color CSS Nivel 4 se presentó al Grupo de trabajo CSS W3C. Aunque en un estado que es muy susceptible a cambios, la versión actual del documento implica que en un futuro próximo CSS admitirá la notación hexadecimal RGBA de 4 y 8 dígitos.
Nota: la siguiente cita tiene fragmentos irrelevantes recortados y la fuente puede haber sido muy modificada en el momento de leer esto (como se mencionó anteriormente, es un borrador del editor y no un documento finalizado).
Si las cosas han cambiado mucho, ¡deje un comentario para informarme para que pueda actualizar esta respuesta!
¿Qué significa esto para el futuro de los colores CSS?
Esto significa que suponiendo que esto no se elimine por completo del documento de Nivel 4, pronto podremos definir nuestros colores RGBA (o colores HSLA, si usted es uno de esos tipos) en formato hexadecimal en navegadores que admiten el Color Módulo de sintaxis de nivel 4.
Ejemplo
¿Cuándo podré usar esto en mis productos orientados al cliente?
Dejando a un lado todas las bromas: actualmente es solo el comienzo de 2015, por lo que todavía no serán compatibles con ningún navegador durante bastante tiempo, incluso si su producto solo está diseñado para funcionar en los navegadores más actualizados, probablemente No veré esto en acción en un navegador de producción en el corto plazo.
Ver la compatibilidad actual del navegador para la notación de color #RRGGBBAA
Sin embargo, dicho esto, la forma en que funciona CSS significa que podemos comenzar a usarlos hoy. Si realmente desea comenzar a usarlos en este momento, siempre que agregue una reserva, los navegadores que no sean compatibles simplemente ignorarán las nuevas propiedades hasta que se consideren válidas:
Mientras esté viendo esta respuesta en un navegador que admita las propiedades
background
ycolor
en CSS, el<figure>
elemento resultante del fragmento anterior se verá muy similar a esto:Usando la versión más reciente de Chrome en Windows (v39.0.2171) para inspeccionar nuestro
<figure>
elemento, veremos lo siguiente:Los
rgba()
valores anulan el retroceso hexadecimal de 6 dígitos , y nuestros valores hexadecimales de 8 dígitos se ignoran ya que el analizador CSS de Chrome los considera actualmente inválidos. Tan pronto como nuestro navegador admita estos valores de 8 dígitos, estos anularán los valoresrgba()
.ACTUALIZACIÓN 2018-07-04: Firefox, Chrome y Safari son compatibles con esta notación ahora, Edge todavía falta pero probablemente seguirá ( https://caniuse.com/#feat=css-rrggbbaa ).
fuente
/* Fall... foward? */
»Sugiero saltar hacia adelante. Fallback y jumpforward: ^ pEncontré la respuesta después de publicar la mejora de la pregunta. ¡Lo siento!
MS Excel ayudó!
simplemente agregue el prefijo Hex al valor de color hexadecimal para agregar un alfa que tenga la opacidad equivalente como el valor de%.
(en rbga, el porcentaje de opacidad se expresa como un decimal como se mencionó anteriormente)
fuente
#FF00000C
es equivalente argba(255,0,0,0.05)
?#000000
convierte#7F000000
.fuente
var rgb = '#ffabcd'; var a = '0.5'; var matches = rgb.match(/#([\da-f]{2})([\da-f]{2})([\da-f]{2})/i); var rgba = 'rgba(' + matches.slice(1).map(function(m) { return parseInt(m, 16); }).concat(a) + ')';
<div style={ { backgroundColor: `rgba(${ parseInt(color.substring(1,3),16) }, ${ parseInt(color.substring(3,5),16) }, ${ parseInt(color.substring(5,7),16) }, 0.5)` } }></div>
Ver aquí http://www.w3.org/TR/css3-color/#rgba-color
No es posible, probablemente porque 0xFFFFFFFF es mayor que el valor máximo para enteros de 32 bits
fuente
#ffffff
(seis dígitos hexadecimales) es en realidad un valor de color de 24 bits ; 0xFFFFFFFF es en realidad 2³² − 1, y se puede representar como un entero de 32 bits sin signo. Creo que la razón por la que#ffffffff
no se especifican (ocho dígitos hexadecimales) es que los colores CSS están enraizados en el espacio de color sRGB y que una notación de ocho dígitos hexadecimales sería ambigua con un dispositivo de visualización que admite una profundidad de color de 32 bits. Recuerde que todavía hay, de#fff
modo que significargb(100%, 100%, 100%)
- blanco - ambos con una profundidad de color de 8 bits (256 colores) y 16 bits (65536 o 64K colores).Chrome 52+ es compatible con alpha hex:
fuente
¯\_(ツ)_/¯
Uso
red
,green
,blue
para convertir a RGBA:fuente
Me temo que eso no es posible. el
rgba
formato que conoces es el único.fuente
Si puede usar MENOS, hay una función de desvanecimiento.
fuente
rgba(base-color, 0.5)
Principe azul:
Solo Internet Explorer permite el color hexadecimal de 4 bytes en el formato de ARGB, donde A es el canal alfa. Se puede usar en filtros de gradiente, por ejemplo:
Donde dir puede ser: 1 (horizontal) o 0 (vertical) Y las cadenas de color pueden ser colores hexadecimales (# FFAAD3) o colores hexadecimales argb (# 88FFAAD3).
fuente
En Sass podemos escribir:
como se sugirió en la representación hexadecimal de un color con canal alfa?
fuente
Bueno, diferentes anotaciones de color es lo que tendrás que aprender.
Kuler te da una mejor oportunidad de encontrar color y en múltiples anotaciones.
Hex no es diferente de RGB, FF = 255 y 00 = 0, pero eso es lo que sabes. Entonces, en cierto modo, tienes que visualizarlo.
Yo uso Hex, RGBA y RGB. A menos que se requiera una conversión en masa, hacerlo manualmente lo ayudará a recordar unos 100 colores extraños y sus códigos.
Para la conversión en masa, escriba un guión como el proporcionado por Alarie. Diviértete con los colores.
fuente
por qué no usar
background-color: #ff0000; opacity: 0.5; filter: alpha(opacity=50); /* in IE */
Si apuntas un color para un texto o probablemente un elemento, esto debería ser mucho más fácil de hacer.
fuente
opacity
propiedad css.