Fiddle: http://jsfiddle.net/uenrX/1/
La propiedad opacidad de la DIV exterior no se puede deshacer por el DIV interior. Si se quiere lograr la transparencia, utilice rgba
o hsla
:
div externo:
background-color: rgba(255, 255, 255, 0.9); /* Color white with alpha 0.9*/
div interior:
background-color: #FFF; /* Background white, to override the background propery*/
EDITAR
Debido a que ha añadido a su pregunta filter:alpha(opacity=90)
, Supongo que también quiere una solución de trabajo para (versiones anteriores de) IE. Esto debería funcionar (-ms-
prefijo para las nuevas versiones de IE):
/*Padded for readability, you can write the following at one line:*/
filter: progid:DXImageTransform.Microsoft.Gradient(
GradientType=1,
startColorStr="#E6FFFFFF",
endColorStr="#E6FFFFFF");
/*Similarly: */
filter: progid:DXImageTransform.Microsoft.Gradient(
GradientType=1,
startColorStr="#E6FFFFFF",
endColorStr="#E6FFFFFF");
que he usado el filtro de gradiente, comenzando con la misma start-
y end-color
, de manera que el fondo no muestra un gradiente, sino una color plano El formato de color está en el formato hexadecimal ARGB. He escrito un fragmento de código JavaScript para convertir valores de opacidad con respecto a los valores de alfa-hexagonales absolutos:
var opacity = .9;
var A_ofARGB = Math.round(opacity * 255).toString(16);
if(A_ofARGB.length == 1) A_ofARGB = "0"+a_ofARGB;
else if(!A_ofARGB.length) A_ofARGB = "00";
alert(A_ofARGB);
La respuesta corta es que no puede. Coloque el otro div fuera del div transparente. –
Pregunta relacionada: http://stackoverflow.com/questions/806000/css-semi-transparent-background-but-not-text –