2010-06-04 20 views
1

J'ai eu beaucoup de succès en faisant IE à jouer bien dans le passé, mais je suis buffaloed ici. Le menu déroulant est visible et fonctionne, mais il comporte des problèmes de marge/de remplissage et peu importe le type de déclaration conditionnelle ou de hacker que j'essaie d'utiliser, il ne sera pas remis en place.menu déroulant dans IE7,8 a besoin de fixer

page Exemple: www.erisdesigns.net

HTML (liens supprimés afin que je puisse poster):

<div id="wrapper"> 
<div id="header"> 
    <ul id="nav"> 
    <dl class="dropdown"> 
     <dt id="one-ddheader" onmouseover="ddMenu('one',1)" onmouseout="ddMenu('one',-1)"></dt> 
     <dd id="one-ddcontent" onmouseover="cancelHide('one')" onmouseout="ddMenu('one',-1)"> 
     <ul> 
      <li></li> 
      <li></li> 
      <li></li> 
     </ul> 
     </dd> 
    </dl> 
    <dl class="dropdown"> 
    <dt id="two-ddheader" onmouseover="ddMenu('two',1)" onmouseout="ddMenu('two',-1)"></dt> 
     <dd id="two-ddcontent" onmouseover="cancelHide('two')" onmouseout="ddMenu('two',-1)"> 
     <ul> 
      <li></li> 
      <li></li> 
      <li></li> 
     </ul> 
     </dd> 
    </dl>   
    </ul> 
    </div> 

CSS:

#nav { 
    top:80px; 
    width:65%; 
    margin-left:600px; 
    padding:0; 
    background:#999; 
    text-align:center; 
    list-style:none; 
    position:relative; 
    z-index:3; 
} 

.dropdown {float:left; text-align:center; font-size:14px; padding-right:5px; color:#FFF;} 
.dropdown dt {width:175px; padding:8px; font-weight:bold; cursor:pointer; background:transparent;} 
.dropdown dt:hover {background:transparent; color:#000;} 
.dropdown dd {position:absolute; width:175px; display:none; background:transparent; z-index:200; opacity:0;} 
.dropdown ul {width:175px; margin-top:23px; list-style:none;} 
.dropdown li {display:inline-block; margin-left:-108px; float:left; padding-left:35px; text-align:left;} 
.dropdown a, .dropdown a:active, .dropdown a:visited {display:inline-block; padding:5px 0px 10px 15px; color:#CCC; text-decoration:none; background:#999; width:175px; float:left;} 
.dropdown a:hover {background:#999; color:#000;} 
.dropdown a.menu {background:transparent; width:200px; float:left; text-align:left; color:#FFF;} 
.dropdown a.menu:hover {color:#000} 
+0

Pouvez-vous nous montrer le code JavaScript que vous utilisez? Ou, plutôt, une page d'exemple quelque part en ligne? –

+0

idiot moi ... www.erisdesigns.net – blackessej

+0

Wow, beaucoup de hacks là ... Pourquoi testez-vous 'if (-1! = Navigator.userAgent.indexOf (" MSIE "))' * dans * un commentaire conditionnel? Et si ce code était en dehors de ce bloc et que quelqu'un usurpait la chaîne User Agent (très facile dans les navigateurs Opera et WebKit)? BTW, vous devriez rendre votre adresse e-mail cliquable; il est déjà là en texte clair, donc les méchants peuvent facilement le gratter. –

Répondre

0

balisage Imo trop. Essayez de remplacer <ul id="nav"> par <div id="nav"> puisque vous n'emballez rien avec <li></li> donc IE pourrait avoir un problème avec cela.

+0

Je suis emballage - J'ai juste exclu les liens car je n'ai pas encore assez de poids pour en poster plus d'un. :) – blackessej

+0

merci GaVra, total aidé. Ayant encore quelques problèmes de Java avec IE, mais sur la bonne voie. – blackessej