Quiero establecer la opacidad del fondo de div sin afectar el elemento contenido en IE 8.Tengo una solución y no respondo para establecer la imagen 1 X 1 .png y establecer la opacidad de esa imagen porque estoy usando opacidad dinámica y el administrador de color puede cambiar ese
Lo usé pero no funcionaba en IE 8
#alpha {
filter: alpha(opacity=30);
-moz-opacity: 0.3;
-khtml-opacity: 0.3;
opacity: 0.3;
}
y
rgba(0,0,0,0.3)
además.
css
internet-explorer-8
opacity
Govind Malviya
fuente
fuente
Respuestas:
El
opacity
estilo afecta a todo el elemento y a todo lo que contiene. La respuesta correcta a esto es usar un color de fondo rgba en su lugar.El CSS es bastante simple:
... donde los primeros tres números son los valores rojo, verde y azul para su color de fondo, y el cuarto es el valor del canal 'alfa', que funciona de la misma manera que el
opacity
valor.Consulte esta página para obtener más información: http://css-tricks.com/rgba-browser-support/
La desventaja es que esto no funciona en IE8 o versiones anteriores. La página que vinculé anteriormente también enumera algunos otros navegadores en los que no funciona, pero ya son muy antiguos; todos los navegadores en uso actual excepto IE6 / 7/8 funcionarán con colores rgba.
La buena noticia es que puede obligar a IE a trabajar con esto también, usando un truco llamado CSS3Pie . CSS3Pie agrega una serie de características modernas de CSS3 a versiones anteriores de IE, incluidos los colores de fondo rgba.
Para usar CSS3Pie para fondos, debe agregar una
-pie-background
declaración específica a su CSS, así como elbehavior
estilo PIE , por lo que su hoja de estilo terminaría luciendo así:Espero que ayude.
[EDITAR]
Por lo que vale, como otros han mencionado, puede usar el
filter
estilo de IE , con lagradient
palabra clave. La solución CSS3Pie en realidad usa esta misma técnica detrás de escena, pero elimina la necesidad de jugar directamente con los filtros de IE, por lo que sus hojas de estilo son mucho más limpias. (también agrega un montón de otras características interesantes, pero eso no es relevante para esta discusión)fuente
es simple, lo único que tienes que hacer es dar
& para IE use este filtro
puede generar su filtro rgba desde aquí http://kimili.com/journal/rgba-hsla-css-generator-for-internet-explorer/
fuente
opacity
en el elemento principal lo establece para todo el subárbol DOMRealmente no puede establecer la opacidad para cierto elemento que no se distribuiría en cascada a los descendientes.
opacity
Me temo que no es así como funciona CSS .Lo que puede hacer es tener dos elementos hermanos en un contenedor y establecer la posición de uno transparente:
luego debe establecer transparente
position: absolute/relative
para que su contenido hermano se represente sobre él.rgba
puede hacer transparencia de fondo de fondos de coloresrgba
La configuración de color en el elemento,background-color
por supuesto, funcionará, pero lo limitará a usar solo el color como fondo. No hay imágenes, me temo. Por supuesto, puede usar degradados CSS3 si proporciona colores de parada de degradado en formatorgba
. Eso también funciona.Pero tenga en cuenta que
rgba
puede que no sea compatible con los navegadores requeridos.Funcionalidad de diálogo modal sin alertas
Pero si busca algún tipo de enmascaramiento de toda la página, esto generalmente se hace agregando un elemento separado
div
con este conjunto de estilos:Luego, cuando muestre el contenido, debería tener un mayor
z-index
. Pero estos dos elementos no están relacionados en términos de hermanos ni nada. Simplemente se muestran como deberían. Uno sobre el otro.fuente
Intente establecer el índice z más alto en el elemento contenido.
fuente
¿Qué pasa con este enfoque?
fuente
Tal vez haya una respuesta más simple, intente agregar cualquier color de fondo que desee al código, como background-color: #fff;
fuente
Afecta a todos los divs secundarios cuando usa la función de opacidad con posiciones distintas a la absoluta. Entonces, otra forma de lograrlo es no poner divs entre sí y luego usar la posición absoluta para los divs. No use ningún color de fondo para el div superior.
fuente
Use RGBA o si tiene código hexadecimal, cámbielo a rgba. No es necesario hacer algunos elementos de presodu css.
css ---------
O
fuente