Ver Mensaje Individual
  #3 (permalink)  
Antiguo 24/09/2011, 15:19
Avatar de joss23
joss23
 
Fecha de Ingreso: noviembre-2009
Mensajes: 16
Antigüedad: 15 años
Puntos: 0
Respuesta: Sobreposición de <div>s

Cita:
Iniciado por emprear Ver Mensaje
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
[url]http://foros.emprear.com/css/centrado-vertical/menusobreimg2.html[/url]

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

Saludos
Hola emprear!

Gracias por tu ayuda, tengo un problema y es que las imagenes de la cuadrícula en realidad tienen que cambiarse por otras al pasar el ratón por encima, y luego aparecer el menú encima si se hace clic. Es posible ese cambio onmouseover estando la imagen como fondo de una celda?