Pergunta

Estou escrevendo estilos para uma página em que gostaria de usar as cores do RGBA no fundo de alguns itens da lista. Eu usei a propriedade de fundo do CSS junto com o RGBA (146.138.118, .4) para definir minha cor de fundo transparente.

Agora estou tentando cobrir minhas bases com o suporte do IE usando a técnica de um filtro de MS, conforme descrito em Este artigo. (Veja o cabeçalho "... e RGBA para todos.")

Aparentemente, o problema é que o filtro do MS exige que você use algum tipo de híbrido entre RGBA e Hex, onde o valor da transparência da alfa é traduzida para um número entre 00 e FF. Ver esta página de descrição da Microsoft para referência.

Portanto, o problema é que não consigo descobrir como diabos para converter adequadamente meu valor do RGBA para o método híbrido Hex/RGBA. Alguém pode me indicar um bom material de referência sobre isso? Por favor, não me dê o valor correto - isso não me faz bem fora dessa cor. Eu preciso entender como por trás disso, obrigado.

Foi útil?

Solução

Traduzindo um rgba Alfa para o formato do filtro de gradiente é muito simples. É um mapeamento do intervalo [0, 1] para o intervalo [0, 255], representado em hexadecimal. Para fazer a conversão, então, apenas se multiplique por 255 e converter em hexadecimal. Por exemplo, opacidade em rgba(rr, gg, bb, 0.5) acaba como 7F (ou 80, se você está arredondando):

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

Suponho que você não está perguntando sobre como converter entre a base 10 e a base 16.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top