Comunidad de diseño web y desarrollo en internet online

Problemas con menu css e internet explorer

Citar            
MensajeEscrito el 05 Jun 2006 10:23 am
Bueno, como a muchos les habra ocurrido, he creado un menu css q funciona perfectamente en firefox pero no asi en explorer, ya que en este ultimo no se despliega.
Ahi va mi codigo :

Código :

<?php
session_start();
include("conexionpc.php");
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Documento sin t&iacute;tulo</title>
</head>


<body>
<script>
   startList = function() {
if (document.all&&document.getElementById) {
navRoot = document.getElementById("nav");
for (i=0; i<navRoot.childNodes.length; i++) {
node = navRoot.childNodes[i];
if (node.nodeName=="LI") {
node.onmouseover=function() {
this.className+=" over";
  }
  node.onmouseout=function() {
  this.className=this.className.replace
        (" over", "");
   }
   }
  }
 }
}
window.onload=startList;

</script>
<style>
body {
   color: #000000;/*themecolour6%0;*/
   background-color: #ffffff;/*themecolour6;*/
   background-image:   url(inicio_files/inicio_topstrip.gif);
   background-repeat: repeat-x;
   font-family: 'trebuchet ms', Arial, sans-serif;
   font-size: 9pt;
   position: absolute;
   
   }


ul, ul li {

   margin:0;
   padding:0;
   list-style-type:none;
   font-size:100%;
   
   }

ul  {

   padding: 0;
     margin: 0;
   position:relative;
   top:10.12em;
   border:none;
   float:left;/*para eliminar el comportamiento de elemento de bloque(salto de linea)*/
   UL UL {list-style-image: url(http://www.ciberpunk.com/graficos/lista.png);}
   }

ul li {
   
   float: left;
    position: relative;
   
     width: 10em;
   }

ul ul {
   
     
   z-index:1020;
   cursor:default;
   
   position:absolute;
   width:8.2em;
   word-spacing: 0.4em;
  
   margin:2.4em;
   top:-100em;
   left:-29px;
   padding: 1px 0 0 8.5px;
   }
   
li.on:hover ul,  li.over ul { /*for ie*/
   background: #224d6f;
}

 li.on:hover ul a,  li.over ul li a { /*for ie - the specificity is necessary*/
      background: #224d6f;
   }

ul  ul li {
   width:8.2em;
   }

ul ul ul {
   margin:-0.1em 0 0 8.4em;
   }


@media Screen, Projection { 
   ul li:hover > ul { top:0; }
    ul > ul {top:0;}
    

   }
   
 ul > li {
   top: auto;
   left: auto;
   }
ul a, ul a:visited {

   z-index:999;text-align:left;background-color:#42527c;color:#ffffff;text-decoration:none;padding:2px 0px 2px 0px;cursor:hand;display:block;font-size:8pt;font-family:Arial, Helvetica, sans-serif;font-weight:bold;   
   }
   
ul a:hover,ul a.over, ul a:focus, ul a.rollover, ul a.rollover:visited {

background-color:#83a4f7;color:#000000;text-decoration:none;padding:2px 0px 2px 0px;cursor:hand;display:block;font-size:8pt;font-family:Arial, Helvetica, sans-serif;font-weight:bold; }


ul a, ul a:visited {
      z-index:999;text-align:left;background-color:#42527c;color:#ffffff;text-decoration:none;padding:2px 0px 2px 0px;cursor:hand;display:block;font-size:8pt;font-family:Arial, Helvetica, sans-serif;font-weight:bold; 

}

ul a:hover, ul a:focus, ul a.rollover, ul a.rollover:visited{ background-image:url(inicio_files/inicio_hnavbar_b1_over.gif); background-repeat:no-repeat; background-color:#83a4f7;color:#000000;text-decoration:none;padding:2px 0px 2px 0px;cursor:hand;display:block;font-size:8pt;font-family:Arial, Helvetica, sans-serif;font-weight:bold;}


@media screen, projection {
   * html ul li {
      display:inline; 
      float:left; 
      background:#ffffff; 
      }
   }
* html ul li { position:static; }
* html ul a { padding: 2px 5px;  }



ul:hover ul, ul.over ul{ display: block; }
/* Fix IE. Hide from IE Mac \*/
* html ul li { float: left; height: 1%; }
* html ul li a { height: 1%; }
/* End */
/* Styles for Menu Items */

.menu a 
{
  display:block;
  border:none;
  background-position:left top;
  background-repeat:no-repeat;
  width:80px;
  height:23px;
}

.menu a#reg:hover, a#reg.over { background-image:url(inicio_files/inicio_hnavbar_b1_over.gif); }
.menu a#home:hover, a#home.over { background-image:url(inicio_files/inicio_hnavbar_b2_over.gif); }
.menu a#desc:hover, a#desc.over { background-image:url(inicio_files/inicio_hnavbar_b3_over.gif); }
.menu a#prod:hover, a#prod.over { background-image:url(inicio_files/inicio_hnavbar_b4_over.gif); }
.menu .alt { display:none; }
.menu a#nada{background-image:none;}
.menu a#reg { background-image:url(inicio_files/inicio_hnavbar_b1.gif); }
.menu a#home { background-image:url(inicio_files/inicio_hnavbar_b2.gif); }
.menu a#desc { background-image:url(inicio_files/inicio_hnavbar_b3.gif); }
.menu a#prod { background-image:url(inicio_files/inicio_hnavbar_b4.gif); }

</style>




<ul id="nav"> 
    <div class="menu"><li class="registro"><a href="#" id="reg"><span
    class="alt">Registro </span></a> 
   <ul> 
       <div class="menu"> <li><a href="#" id="nada">Login</a>
        <li><a href="#" id="nada">Nuevo Usuario</a>
        <li><a href="#" id="nada">Logout</a></div>
      </ul> 
     </div >
     <div class="menu"><li><a href="#" id="home"><span
    class="alt">Home</span></a> 
      <ul>  <div class="menu">
        <li><a href="#" id="nada">Pedidos</a>
         <ul>
            <li><a href="#" id="nada">Ver Cesta</a>
                           
         </ul> 
         
        <li><a href="#" id="nada">Oferta</a> 
        <li><a href="#" id="nada">Contactenos</a> 
      </ul></div> 
   </div>
    <div class="menu"><li><a href="#" id="desc"><span
    class="alt">Descargas</span></a> 
      <ul> 
        <li><a href="#" id="nada">Lista de precios</a>
        <li><a href="#" id="nada">Drivers</a>
                          
      </ul> 
    </div>
       <div class="menu"><li><a href="#" id="prod"><span
    class="alt">Productos</span></a>
<ul>
   
    <?php
function Menu($categoria)
{   
   $link=Conectarse();   
   $result=mysql_query("select * from categoria where codigo_base=$categoria",$link);
   
   while($fila1 = mysql_fetch_array($result)){
      
       $dev = $fila1['descripción'];
      $codigo = $fila1['codigo'];
      $sql = "select count(*) from categoria where codigo_base=$codigo";
      
      $resultado = mysql_query($sql,$link);
      
        $fila=mysql_fetch_array($resultado);
      
      $alias2 = $alias + $codigo;
      if($fila['count(*)']!=0)
      {?>
         
      
         <li><a href="#" id="nada"><?php echo $dev." >";?></a>
         <ul>
         <?php Menu($codigo);?> </li></ul><?php           
             
      }else{?>
      
         <li><a href="#" id="nada"><?php echo $dev;?></a></li><?php
         
       
      }   
         mysql_free_result($resultado);
               
     }
                 
               
}    
Menu(1); ?> </li> </ul>


     
  </ul> 
   </div>
</body>
</html>


Como podeis comprobar el menu es dinamico y la parte de productos la toma de una base de datos, pero la funcion funciona perfectamente, ya q se q el explorer la carga bien como lista de html, pero luego como menu no funcionan los hover, ni los over ni nada, he probado de todo que si js, q si hdt, nada va. Por favor ayuda.... :|
url con menu: http://www.cai-informatica.com/softcorp/pruebamenucss.php

Por kain_083

5 de clabLevel



 

firefox
Citar            
MensajeEscrito el 05 Jun 2006 04:55 pm
en ie sí lo veo, mal pero ahí está.
no veo cuál es el_gran_problema, sólo los elementos están un poco descuadrados, mi recomendación es que comiences de nuevo siguiendo estos consejos:
1. comienza tu css con

Código :

*{
margin:0;
padding:0;
}

2. mientras vas creando tu hoja de estilos, ve checando tanto en ie como en ff cómo se ve tu diseño
3. trabaja SÓLO con html, ya que ese código que pusiste, si alguien con muy buenas intenciones hace un copy-paste no podrá ver lo que tú ves por distintas razones (no tiene php configurado, evidentemente no tiene una base de datos idéntica a la tuya, etc)

suerte, un saludo

Por fael

BOFH

2443 de clabLevel

3 tutoriales
2 articulos

 

firefox
Citar            
MensajeEscrito el 08 Jun 2006 04:03 am
El error es uno de los margenes, y el modelo de cajas de CSS. Aprende eso y corrigelo.

Por NEO_JP

BOFH

5724 de clabLevel

13 tutoriales
12 articulos

Genero:Masculino   Anime Bloggers Premio_Secretos Team Cristalab

Front-end Developer en Washington, DC

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.