menu CSS pas bon sous firefox


sim100
WRInaute passionné
WRInaute passionné
 
Messages: 1431
Inscription: 2 Fév 2003

menu CSS pas bon sous firefox

Message le Dim Nov 27, 2005 5:22

Bonjour
Voila j'ai pris un menu vertical pour installer sur un site, je l'ai pris chez alsacreation.
Bref voila il passe super sur ie et opera mais pas bon du tout sous firefox!

Voila le site
http://www.asie-boutique.com

Voila le css du menu

Code: Tout sélectionner
body {
background: white;
padding:0;
margin:0;
font-family: verdana;
font-size: 90%;
color: black;
}
dl, dt, dd, ul, li {
margin: 0;
padding: 0;
list-style-type: none;
}
#menu {
position: absolute;
top: 230px;
left: 5px;
width: 150px;
}

#menu dt {
cursor: pointer;
background: #E7DDD0;
height: 20px;
line-height: 20px;
margin: 2px 0;
border: 1px solid #E7DDD0;
text-align: left;
}

#menu dd {
position: absolute;
z-index: 100;
left: 148px;
margin-top: -30px;
width: 160 px;
background: #E7DDD0;
border: 1px solid gray;
}

#menu ul {
padding: 2px;
}
#menu li {
text-align: left;
font-size: 100%;
height: 18px;
line-height: 18px;
}
#menu li a, #menu dt a {
color: #000;
text-decoration: none;
display: block;
}

#menu li a:hover {
background-color:#EDE7E0;
}


Et voila le code dans le index.php
le menu se génère automatiquement selon la création des catégories et sous cat via une partie admin

Code: Tout sélectionner
  <?
echo "<a href='index.php' class='lien1'>Accueil</a><br>";
$query="SELECT * FROM 1two_ecommerce_cat ORDER BY nom ASC";
$res_compteur = @mysql_query($query,$db);
if (@mysql_num_rows($res_compteur)!=0)
   {
   $nbcompteur=mysql_num_rows($res_compteur);
   for ($i=0; $i<$nbcompteur; $i++)
      {
      $list_compteur=@mysql_fetch_row($res_compteur);
      $query="SELECT * FROM 1two_ecommerce_cat WHERE inside='$list_compteur[3]'";
      $res_bout = @mysql_query($query,$db);
      if (@mysql_num_rows($res_bout)==0)
         {
         $tabmenu=""; $ligne="";
         $idliste=$list_compteur[3];
         while ($idliste!=0)
            {
            $query="SELECT * FROM 1two_ecommerce_cat WHERE compteur='$idliste'";
            $res_idliste = @mysql_query($query,$db);
            $list_idliste=@mysql_fetch_row($res_idliste);
            $tabmenu[]="$list_idliste[0]";
            $idliste=$list_idliste[2];
            }
         $nbrtabmenu=count ($tabmenu);
         for ($t=$nbrtabmenu-1; $t>=0; $t--)
            {
            if ($t==$nbrtabmenu-1) {$ligne=$ligne . "$tabmenu[$t]";}
            else {
            $ligne=$ligne . " > $tabmenu[$t]"; }
            if ($tabfinal=="") {$tabfinal[]="$ligne";}
            else { if (in_array($ligne,$tabfinal)!=1) {$tabfinal[]="$ligne";} }
            }
         }
      }
   $nbrtabfinal=count ($tabfinal);
   $tabfinal[]=rsort($tabfinal);
   $z=0; $temoin=1;
?>
<dl id="menu">
<?
   for ($f=$nbrtabfinal-1; $f>=0; $f--)
      {
      $tablastword= explode(" > ",$tabfinal[$f]);
      $nbrtirets=count ($tablastword);
      $lastword=$tablastword[count($tablastword)-1];
      $query="SELECT compteur FROM 1two_ecommerce_cat WHERE nom='$lastword'";
      $res_compteur_last_word = @mysql_query($query,$db);
      $list_compteur_last_word=@mysql_fetch_row($res_compteur_last_word);
      $query="SELECT categorie FROM 1two_ecommerce_prod WHERE categorie='$list_compteur_last_word[0]'";
      $res_nbr_items = @mysql_query($query,$db);
      $nbr_items=mysql_num_rows($res_nbr_items);
      
      if ($nbrtirets==1)
         {
         if ($z!=0)
            {
?>
            </ul>
                 </dd>
<?            
            }
         $z++;
?>
         <dt onmouseover="javascript:montre('smenu<? echo $z; ?>');"><a href="<? echo "index.php?id=$list_compteur_last_word[0]&action=shop"; ?>"><? echo "$lastword <font color='#B20907'>($nbr_items)</font>"; ?></a></dt>
<?
         }
      else
         {
         if ($temoin==1)
            {
?>
            
              <dd id="smenu<? echo $z; ?>" onmouseover="javascript:montre('smenu<? echo $z; ?>');" onmouseout="javascript:montre();"> <ul>
                <?
            }
?>
                <li><a href="<? echo "index.php?id=$list_compteur_last_word[0]&action=shop"; ?>">::
                  <? echo "$lastword <font color='#B20907'>($nbr_items)</font>"; ?></a></li>
                <?
         }
         $temoin=$nbrtirets;
      }
?>
            </dl>
<?
   }
?>


Si quelqu'un voit une solution pour firefox?

Merci d'avance


Leonick
WRInaute accro
WRInaute accro
 
Messages: 18834
Inscription: 8 Aoû 2004

Message le Dim Nov 27, 2005 9:57

Au début, ce n'est pas vraiment le code php qui importe mais le html obtenu.
Il faut donc commencer par vérifier le code, http://validator.w3.org/check?verbose=1 ... tique.com/

souvent les problèmes se posent à cause de balises mal fermées.
En plus, les sous-menus ne sont pas en CSS mais en javascript, ça pose donc plus de problèmes. Par exemple, avec le javascript désactivé, les sous-menus s'affichent les uns sur les autres.
Si le problème c'est pour l'affichage de "Ecran couleur LCD 7 pouces (18)" qui déborde, c'est que le dt n'est pas assez haut


SIBELIUS
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 287
Inscription: 21 Déc 2003

Re: menu CSS pas bon sous firefox

Message le Dim Nov 27, 2005 12:50

sim100 a écrit:Bonjour
Voila j'ai pris un menu vertical pour installer sur un site, je l'ai pris chez alsacreation.

Ah ok, mais dans ce cas, pourquoi as-tu supprimé la mention de la source qui se trouvait dans les CSS ?


sim100
WRInaute passionné
WRInaute passionné
 
Messages: 1431
Inscription: 2 Fév 2003

css

Message le Dim Nov 27, 2005 12:57

Tout simplement parceque j'ai testé plein de menu juste en prenant ce qu'il me fallait, que j'en suis encore qu'aux test car ça ne marche pas comme je veux et que je vais encore en tester d'autre jusqu'a ce que je sois décidé sur ce que je vais utiliser.
Voila


Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités