Quero fazer o fundo do menu de lista desaparecer usando opacidade, sem afetar a fonte. É possível com CSS3?
Respostas:
agora você pode usar rgba em propriedades CSS como este:
.class {
background: rgba(0,0,0,0.5);
}
0,5 é a transparência , altere os valores de acordo com seu projeto.
Demonstração ao vivo http://jsfiddle.net/EeAaB/
mais informações http://css-tricks.com/rgba-browser-support/
rgba('black', 0.5)
?
sim, isso é possível. apenas use a sintaxe rgba para sua cor de fundo.
.menue{
background-color: rgba(255, 0, 0, 0.5); //semi-transparent red
}
Aqui está um exemplo de classe usando cores nomeadas em CSS:
.semi-transparent {
background: yellow;
opacity: 0.25;
}
Isso adiciona um fundo que é 25% opaco (colorido) e 75% transparente.
CAVEAT
Infelizmente, a opacidade afetará todo o elemento ao qual está anexado.
Portanto, se você tiver texto nesse elemento, ele também definirá o texto para 25% de opacidade. :-(
A maneira de superar isso é usar os métodos rgba
ou hsla
para indicar a transparência como parte da "cor" de fundo desejada. Isso permite que você especifique a transparência do fundo, independente da transparência dos outros itens em seu elemento.
Aqui estão três maneiras de definir um fundo azul com transparência de 75%, sem afetar outros elementos:
background: rgba(0%, 0%, 100%, 0.75)
background: rgba(0, 0, 255, 0.75)
background: hsla(240, 100%, 50%, 0.75)
Nesse caso, background-color:rgba(0,0,0,0.5);
é a melhor maneira. Por exemplo:background-color:rgba(0,0,0,opacity option);
Para alcançá-lo, você deve modificar o background-color
do elemento.
Maneiras de criar uma cor (semi-) transparente:
O nome da cor CSS transparent
cria uma cor completamente transparente.
Uso:
.transparent{
background-color: transparent;
}
Usando as funções rgba
ou de hsla
cor, que permitem adicionar o canal alfa (opacidade) às funções rgb
e hsl
. Seus valores alfa variam de 0 a 1.
Uso:
.semi-transparent-yellow{
background-color: rgba(255, 255, 0, 0.5);
}
.transparent{
background-color: hsla(0, 0%, 0%, 0);
}
Além das soluções já mencionadas, você também pode usar o formato HEX com valor alfa ( #RRGGBBAA
ou #RGBA
notação ).
Isso é muito novo (contido no Módulo de Cores CSS Nível 4), mas já implementado em navegadores maiores (desculpe, sem IE).
Isso difere das outras soluções, pois trata o canal alfa (opacidade) como um valor hexadecimal também, variando de 0 a 255 ( FF
).
Uso:
.semi-transparent-yellow{
background-color: #FFFF0080;
}
.transparent{
background-color: #0000;
}
Você também pode experimentá-los:
transparent
:rgba()
:#RRGGBBAA
:Experimente isto:
opacity:0;
Para IE8 e anteriores
filter:Alpha(opacity=0);
innerHTML =
(ei, pelo menos é melhor do que os alertas e document.write
eles costumavam fazer em 2012, mas ainda sem manipulação de DOM, fora do tutorial do jQuery, exceto por um pedaço do tutorial onde eles listam os métodos relevantes um por capítulo, e mesmo assim é apenas seleção - e sim, eles listam document.write
). Seu tutorial XHR usa readyStateChange em vez de onLoad (compatível desde o IE7). Ah, e sua solução alternativa para funções em JSON? Stringify-los para serem avaliados mais tarde
Sim, você pode apenas texto simples como
.someDive{
background:transparent
}