Pregunta

Estoy escribiendo estilos de una página en la que me gustaría utilizar colores RGBA en el fondo de algunos elementos de la lista. He usado la propiedad CSS fondo junto con RGBA (146 138 118, 0.4) para definir mi color de fondo transparente.

Ahora estoy tratando de cubrir mis bases con el apoyo de IE mediante el uso de la técnica de un MS-filtro como se describe en este artículo. (Ver rúbrica "... y RGBA para todos.")

El problema es que al parecer el MS-filtro requiere el uso de algún tipo de híbrido entre RGBA y Hex, donde el valor de transparencia alfa se traduce a un número entre 00 y FF. Ver esta descripción de página de Microsoft para referencia.

Así que el problema es que no puedo encontrar la manera en la tierra para convertir adecuadamente el valor de mi de RGBA a ese método hex / RGBA híbrido. ¿Puede mi punto cualquiera a un buen material de referencia sobre esto? Por favor, no me acaba de dar el valor correcto - que no me hace bien fuera de ese color. Necesito entender la forma detrás de él, gracias.

¿Fue útil?

Solución

Traducción de un alfa rgba al formato de filtro de gradiente es muy simple. Es un mapeo de la [0, 1] intervalo al [0, 255] intervalo, representado en hexadecimal. Para hacer la conversión, a continuación, simplemente se multiplica por 255 y convertir a hexadecimal. Por ejemplo, la opacidad en rgba(rr, gg, bb, 0.5) termina como 7F (o 80, si está redondeando hacia arriba):

0.5 * 255 = 127.5 (base 10)
127 (base 10) = 7F (base 16)

Asumo que usted no está preguntando acerca de cómo convertir entre la base 10 y la base 16.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top