Domanda

Sto scrivendo stili di una pagina in cui mi piacerebbe usare i colori RGBA sullo sfondo di alcune voci di elenco. Ho usato la proprietà background CSS con RGBA (146.138.118, 0,4) per definire il mio colore di sfondo trasparente.

Ora sto cercando di coprire le mie basi con il supporto di IE, utilizzando la tecnica di un ms-filtro come descritto in questo articolo. (Vedi rubrica "... e RGBA per tutti.")

Il problema è che a quanto pare il MS-filtro che richiede l'uso di un certo tipo di ibrido tra RGBA e Hex in cui il valore di trasparenza alfa è tradotto in un numero compreso tra 00 e FF. Vedere Description da Microsoft per riferimento.

Quindi, il problema è che non riesco a capire come sulla terra per convertire correttamente il mio valore da RGBA a tale metodo esadecimale / RGBA ibrido. Qualcuno mi può punto a qualche buon materiale di riferimento su questo? Per favore, non solo a me dare il valore corretto - che mi fa bene al di fuori di quel colore. Ho bisogno di capire il come dietro di esso, grazie.

È stato utile?

Soluzione

Traducendo un'alfa rgba al formato del filtro gradiente è molto semplice. È una mappatura dall'intervallo [0, 1] al [0, 255] intervallo, rappresentato in esadecimale. Per fare la conversione, quindi, basta moltiplicare per 255 e convertire in esadecimale. Ad esempio, l'opacità in rgba(rr, gg, bb, 0.5) finisce come 7F (o 80, se si sta arrotondando per eccesso):

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

Suppongo che tu non stai chiedendo su come per la conversione tra base 10 e base 16.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top