Eu quero definir a opacidade do fundo do div sem afetar o elemento contido no IE 8. Tenho uma solução qualquer e não responda para definir a imagem 1 X 1 .png e definir a opacidade dessa imagem porque estou usando opacidade dinâmica e o administrador de cores pode mudar aquele
Eu usei isso, mas não estou funcionando no IE 8
#alpha {
filter: alpha(opacity=30);
-moz-opacity: 0.3;
-khtml-opacity: 0.3;
opacity: 0.3;
}
e
rgba(0,0,0,0.3)
Além disso.
css
internet-explorer-8
opacity
Govind Malviya
fonte
fonte
Respostas:
O
opacity
estilo afeta todo o elemento e tudo dentro dele. A resposta correta para isso é usar uma cor de fundo rgba.O CSS é bastante simples:
... onde os três primeiros números são os valores de vermelho, verde e azul para sua cor de fundo, e o quarto é o valor do canal 'alfa', que funciona da mesma maneira que o
opacity
valor.Veja esta página para mais informações: http://css-tricks.com/rgba-browser-support/
A desvantagem é que isso não funciona no IE8 ou inferior. A página que vinculei acima também lista alguns outros navegadores nos quais não funciona, mas agora eles são todos muito antigos; todos os navegadores em uso atualmente, exceto IE6 / 7/8, funcionarão com cores rgba.
A boa notícia é que você também pode forçar o IE a funcionar com isso, usando um hack chamado CSS3Pie . CSS3Pie adiciona uma série de recursos CSS3 modernos a versões anteriores do IE, incluindo cores de fundo rgba.
Para usar CSS3Pie para fundos, você precisa adicionar uma
-pie-background
declaração específica ao seu CSS, bem como obehavior
estilo PIE , para que sua folha de estilo fique assim:Espero que ajude.
[EDITAR]
Pelo que vale a pena, como outros já mencionaram, você pode usar o
filter
estilo do IE , com agradient
palavra - chave. A solução CSS3Pie realmente usa essa mesma técnica nos bastidores, mas elimina a necessidade de você mexer diretamente com os filtros do IE, para que suas folhas de estilo sejam muito mais limpas. (ele também adiciona um monte de outros recursos interessantes, mas isso não é relevante para esta discussão)fonte
é simples só você tem que dar
& para o IE use este filtro
você pode gerar seu filtro rgba aqui http://kimili.com/journal/rgba-hsla-css-generator-for-internet-explorer/
fonte
opacity
no elemento pai define-o para toda a árvore sub DOMVocê realmente não pode definir a opacidade para um determinado elemento que também não cairia em cascata para os descendentes. Não é assim que CSS
opacity
funciona, infelizmente.O que você pode fazer é ter dois elementos irmãos em um contêiner e definir o posicionamento transparente:
então você tem que definir transparente
position: absolute/relative
para que seu irmão de conteúdo seja renderizado sobre ele.rgba
pode fazer transparência de fundo de fundos coloridosrgba
a configuração da cor no elementobackground-color
funcionará, é claro, mas o limitará a usar apenas a cor como plano de fundo. Sem imagens, tenho medo. Você pode, é claro, usar gradientes CSS3 se fornecer cores de interrupção de gradiente emrgba
. Isso também funciona.Mas esteja ciente de que
rgba
pode não ser compatível com os navegadores necessários.Funcionalidade de diálogo modal sem alertas
Mas se você deseja mascarar a página inteira, isso geralmente é feito adicionando um separado
div
com este conjunto de estilos:Então, quando você exibir o conteúdo, ele deve ter um superior
z-index
. Mas esses dois elementos não estão relacionados em termos de irmãos ou qualquer coisa. Eles são exibidos como deveriam ser. Um sobre o outro.fonte
Tente definir o índice z mais alto no elemento contido.
fonte
E quanto a esta abordagem:
fonte
Talvez haja uma resposta mais simples, tente adicionar qualquer cor de fundo de sua preferência ao código, como background-color: #fff;
fonte
Isso afeta todos os divs filhos quando você usa o recurso de opacidade com posições diferentes de absolutas. Outra maneira de conseguir isso é não colocar divs dentro de cada um e usar a posição absoluta para os divs. Não use nenhuma cor de fundo para o div superior.
fonte
Use RGBA ou se você usar o código hexadecimal, altere-o para rgba. Não há necessidade de fazer alguns css de elemento presodu .
css ---------
OU
fonte