Ver Mensaje Individual
  #1 (permalink)  
Antiguo 05/10/2009, 12:38
Avatar de caneva
caneva
 
Fecha de Ingreso: junio-2006
Ubicación: Sevilla (España)
Mensajes: 81
Antigüedad: 17 años, 10 meses
Puntos: 1
Opacity+div anidados y visibility+anidados

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 

    
margin0
    
font-familyVerdanaArialHelveticasans-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
{   
  
visibilityfalse;
}

#ventana_fnc_fondo
{
  
positionabsolute;
  
filteralpha(opacity=50);
  
opacity0.5;
  
width100%;
  
height100%;
  
top0;
  
left0;
  
background-color#000000;
  
z-index1;
}

#ventana_fnc_contenido
{  
  
background-color#CCCCCC; 
  
positionabsolute;
  
filteralpha(opacity=100);
  
opacity1;
  
top50%;
  
left50%;
  
width300px;
  
height500px;
  
margin-left: -150px;
  
margin-top: -250px;
  
z-index2;

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.
__________________
Cita:
"El camino empieza renunciando al control, y volviéndose flexibles."