Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
3134 connectés 

  FORUM HardWare.fr
  Programmation
  HTML/CSS

  Menu UL + compatibilité IE6

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Menu UL + compatibilité IE6

n°1777150
nounours21​_6
Posté le 25-08-2008 à 14:26:20  profilanswer
 

Bonjour a tous,
 
Je dois créer un menu à deux niveaux tout en CSS et qu'il soit compatible avec IE6/IE7 et FF2/FF3!
Le problème se pose pour IE6 qui ne connait pas la pseudo-classe :hover autre que sur l'élément a. Pour contrer ce problème, je passe par un fichier .htc.
Cette étape fonctionne a moitié : lorsque je survole un item du premier, ca affiche bien le sous menu correspondant, mais suivant la position du curseur il ne prend pas la même classe. Il fait une différence entre les éléments 'ul' du sous menu, 'li' du sous menu et 'a' du sous menu!
 
Voila mon code :
 
Source HTML

Code :
  1. <link type="text/css" href="Menu.css" rel="Stylesheet" />
  2. <!--[if lte IE 6]>
  3.                     <link href="MenuIE6.css" rel="stylesheet" type="text/css" />
  4. <![endif]-->
  5.              <div>
  6.  <ul id="menu">
  7.   <li name="0">
  8.    <a href="/MenuHorizontal/Default.aspx"><span>Home</span></a>
  9.   </li>
  10.   <li name="1">
  11.    <a href="/MenuHorizontal/WebForm10.aspx"><span>Page 1</span></a>
  12.    <ul style="left: 0px;">
  13.     <li name="2">
  14.      <a href="/MenuHorizontal/WebForm11.aspx">Page 1.1</a>
  15.     </li>
  16.     <li name="3" class="last">
  17.      <a href="/MenuHorizontal/WebForm12.aspx">Page 1.2</a>
  18.     </li>
  19.    </ul>
  20.   </li>
  21.   <li name="4">
  22.    <a href="/MenuHorizontal/WebForm20.aspx"><span>Page 2</span></a>
  23.    <ul style="left: 0px;">
  24.     <li name="5">
  25.      <a href="/MenuHorizontal/WebForm21.aspx">Page 2.1</a>
  26.     </li>
  27.     <li name="6">
  28.      <a href="/MenuHorizontal/WebForm22.aspx">Page 2.2</a>
  29.     </li>
  30.     <li name="7">
  31.      <a href="/MenuHorizontal/WebForm23.aspx">Page 2.3</a>
  32.     </li>
  33.     <li name="8">
  34.      <a href="/MenuHorizontal/WebForm24.aspx">Page 2.4</a>
  35.     </li>
  36.     <li name="9">
  37.      <a href="/MenuHorizontal/WebForm25.aspx">Page 2.5</a>
  38.     </li>
  39.     <li name="10">
  40.      <a href="/MenuHorizontal/WebForm26.aspx">Page 2.6</a>
  41.     </li>
  42.     <li name="11" class="last">
  43.      <a href="/MenuHorizontal/WebForm27.aspx">Page 2.7</a>
  44.     </li>
  45.    </ul>
  46.   </li>
  47.  </ul>
  48. </div>


 
CSS : Menu

Code :
  1. #menu{ width:635px;  height:53px;  margin:20px 0px 0px 0px;  padding:0px;  list-style:none;  background:url('images/menu-background.gif') no-repeat 50% bottom; overflow:hidden}
  2. #menu li{ float:left;  margin:0px;  padding:3px 0px 4px 0px}
  3. #menu li a{ color:#56A1CE;  font-weight:bold;  text-decoration:none;  margin:0px;  display:block}
  4. #menu>li a:hover{ background:url('images/menu-hov.gif') no-repeat left top; overflow:hidden;  color:#8C8C8C}
  5. #menu li a span{ margin:0px;  padding:3px 15px 4px 10px; display:block;}
  6. #menu>li a:hover span{ background:url('images/menu-arrow.gif') no-repeat right top; overflow:hidden}
  7. #menu li li a{ display:block; padding:2px 0px 2px 0px;  color:#56A1CE;  margin-top:2px;  text-decoration:none}
  8. #menu li li a:hover{ color:#8C8C8C; text-decoration:none; background:none}
  9. #menu li li{ float:left; border:0;  padding:0px 7px 0px 7px; border-right:1px solid #8C8C8C;position: relative; top: 5px;}
  10. #menu li li.last {border:0px;}
  11. li ul{visibility:hidden; position:absolute;font-size:90%; list-style:none;}
  12. html>body li:hover ul { visibility:visible; width: 650px;}


 
CSS : MenuIE6.css

Code :
  1. #menu li, #menu li a, #menu li a span {  behavior: url('IE6Hover.htc'); }
  2. .displayItems {visibility: visible;top: 0px;}
  3. #menu li a.displayItems { background: url('images/menu-hov.gif') no-repeat left top;overflow: hidden;color: #8C8C8C;}
  4. #menu li a.displayItems span {background: url('images/menu-arrow.gif') no-repeat right top;overflow: hidden;}
  5. #menu li li a.displayItems { color: #8C8C8C; text-decoration: none; background: none; }


 
Et le fichier .htc

Code :
  1. <public:attach event="onmouseover" onevent="montrer()" />
  2. <public:attach event="onmouseout" onevent="cacher()" />
  3. <script language="JScript">
  4.     var _liste = this.getElementsByTagName('*');
  5.     var _listeLI = this.getElementsByTagName('li');
  6.     var _listeA = this.getElementsByTagName('a');
  7.     var _listeSPAN = this.getElementsByTagName('span');
  8.     function montrer() {
  9.         var i;
  10.         for (i = 0; i < _listeLI.length; i++) {
  11.             _listeLI[i].className = 'displayItems';
  12.         }
  13.         window.status += i;
  14.         for (i = 0; i < _listeA.length; i++)
  15.         { _listeA[0].className = 'displayItems'; }
  16.         window.status += i;
  17.         for (i = 0; i < _listeSPAN.length; i++)
  18.         { _listeSPAN[0].className = 'displayItems'; }
  19.         window.status += i+";";
  20.     }
  21.     function cacher() {
  22.         for (i = 0; i < _liste.length; i++) {
  23.             _liste[i].className = '';
  24.         }
  25.     }
  26. </script>


 
Désolé pour la longueur^^
 
Est-ce que quelqu'un peut m'aider... :)
 
Sinon, une deuxième petite chose, si je centre mon le div contenant le menu, les sous menus prennent une position absolute au lieu de relative (sur tout les navig)??
 
Merci d'avance Enjoy @+
 
Julien

mood
Publicité
Posté le 25-08-2008 à 14:26:20  profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  HTML/CSS

  Menu UL + compatibilité IE6

 

Sujets relatifs
intégrer menu déroulant dans tableauajouter le menu pause/lecture sur une vidéo
menu[Résolu]Modifier Menu contextuel clic droit javascript/html
Soucis au niveau de l'image du titre d'un menu.Sélection de texte foireuse sous IE6
Menu extensible qui ne l'est pasProbleme compatibilité navigateur
[RESOLU] menu récurrantMenu CSS
Plus de sujets relatifs à : Menu UL + compatibilité IE6


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)