Ver Mensaje Individual
  #2 (permalink)  
Antiguo 24/09/2011, 07:33
Avatar de emprear
emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 17 años, 7 meses
Puntos: 1567
Respuesta: Sobreposición de <div>s

En realidad no estás usando divs, estas usando una tabla, no sé de donde vienen tus datos, pero si estás extrayendo dichos valores de una base de datos, sería aceptable

Más allá de eso, estas complicándote con el sistema

te dejo dos variantes, si lo hacés con una tabla se te simplifica el centrado vertical del menu

Código HTML:
Ver original
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  2. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  3. <html xmlns="http://www.w3.org/1999/xhtml">
  4. <title>titulo</title>
  5. <meta http-equiv="content-type" content="text/html; charset=utf-8" />
  6. <style type="text/css">
  7.    
  8. /* para el segundo ejempo */
  9.     div.contiene_menu{
  10.      width: 200px;
  11.      height: 200px;
  12.      text-align: center;
  13.      margin-right: 3px;
  14.      float: left;
  15.      display: table; position: static;
  16.      }
  17.     div.menu {
  18.     width: 150px;
  19.     height: 150px;
  20.     background-color: red;
  21.     display: none;
  22.     margin: auto;
  23.     position: relative;
  24.     line-height: 150px;
  25.     vertical-align: middle;
  26.     }
  27.     /* capa extra para centrado vertical - mismo ancho y al to que la capa contiene_menu*/
  28.     div.centrar_v {
  29.     display: table-cell;
  30.     vertical-align: middle;
  31.     position: static;
  32.     width: 200px;
  33.     height: 200px;
  34.     }
  35.     </style>
  36. <script type="text/javascript">
  37.     function mostrarMenu(indice){
  38.     document.getElementById(indice).style.display = 'block';
  39.     }
  40.     function ocultarMenu(indice){
  41.     document.getElementById(indice).style.display = 'none';
  42.     }
  43.     </script>
  44. </head>
  45.     <p> Con tablas </p>
  46. <table border="1" cellspacing="2" cellpadding="0">
  47. <tr>
  48. <td width="200" height="200" align="center" valign="middle" onclick="mostrarMenu('uno');" style="background-image: url('muno.png');">
  49. <div style="display: none; width: 100px; height: 100px; background-color: red" id="uno" onmouseout="ocultarMenu(this.id);">
  50. menú 1
  51. </div>
  52. </td>
  53. <td width="200" height="200" align="center" valign="middle" onclick="mostrarMenu('dos');" style="background-image: url('mdos.jpg');">
  54. <div style="display: none; width: 100px; height: 100px; background-color: red" id="dos" onmouseout="ocultarMenu(this.id);">
  55. menú 2
  56. </div>
  57. </td>
  58. </tr>
  59. <p> Con divs </p>
  60. <div class="contiene_menu" onclick="mostrarMenu('tres');" style="background-image: url('muno.png');">
  61. <div class="centrar_v">
  62. <div class="menu" id="tres" onmouseout="ocultarMenu('tres');">
  63. menú 3
  64. </div>
  65. </div>
  66. </div>
  67. <div class="contiene_menu" onclick="mostrarMenu('cuatro');" style="background-image: url('mdos.jpg');">
  68. <div class="centrar_v">
  69. <div class="menu" id="cuatro" onmouseout="ocultarMenu('cuatro');">
  70. menú 4
  71. </div>
  72. </div>
  73. </div>
  74. </body>
  75. </html>

demo
http://foros.emprear.com/css/centrad...sobreimg2.html

hay un pequeño detalle que corregir, pero te lo dejo a vos...

Saludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.