Si anido dos divs y en el primero establezco una opacidad, aunque en el hijo ponga opacity 1 se mantiene la del padre. Para intentar solucionarlo desanide los divs y funcionaba, pero no me convence la opción así que pregunto por si hay alguna forma de solucionarlo más "correcta".
Por otro lado para evitar tener que ocultar ambas "capas" mediante javascript
:capa.style.... decidí contener a ambos divs en otro, llamado "ventana_form_nuevo_cliente" y establecer en el la visibilidad en false por defecto, estando dicho parámetro ausente en los dos hijos porque mi idea es que lo heredaran del padre. Lo curioso es que aunque visibility esta inicializado en hidden al cargar la página muestra todas las capas, es decir como si hubiera estado en visible. Revisando el CSS que ha cargado el navegador con firedebug veo que ha ignorado completamente la linea de visibility=hidden; vamos es que
ni aparece, ¡se la ha comido!.... me pregunto, ¿qué ocurre?
Código PHP:
<div id="ventana_form_nuevo_cliente">
<div id="ventana_fnc_fondo"></div>
<div id="ventana_fnc_contenido">Contenido de la ventana</div>
</div>
Código PHP:
BODY
{
margin: 0;
font-family: Verdana, Arial, Helvetica, sans-serif;
}
/*MENÚ*/
#menu { float: left; border:1px solid #FF0000; margin:0; padding:0; background:#6699FF; }
#menu ul li { display:inline; }
#menu ul { padding-left: 0; }
/*CUERPO CENTRAL*/
#cuerpocentral
{
clear:both;
text-align:left;
border-top:1px solid #c9d7f1;
margin-left:auto;
margin-right:auto;
}
#ventana_form_nuevo_cliente
{
visibility: false;
}
#ventana_fnc_fondo
{
position: absolute;
filter: alpha(opacity=50);
opacity: 0.5;
width: 100%;
height: 100%;
top: 0;
left; 0;
background-color: #000000;
z-index: 1;
}
#ventana_fnc_contenido
{
background-color: #CCCCCC;
position: absolute;
filter: alpha(opacity=100);
opacity: 1;
top: 50%;
left: 50%;
width: 300px;
height: 500px;
margin-left: -150px;
margin-top: -250px;
z-index: 2;
}
Por otro lado me planteo otra duda ¿qué sería mejor crear un objeto "ventanas" mediante clases de php o mediante clases js? Lo digo porque estoy pensando crear un constructor para reutilizar el código de las ventanitas y demás.. añadirle acciones, etc..
Gracias por tu tiempo.