Bonjour,
J'ai un gros souci de positionnement sur le site : http://www.arcencieltheatre.org/v2/
Il s'agit du menu horizontal en haut de page (accueil | Compagnie Arc en ciel | etc):
- dans Firefox et autres, les éléments de sous-menu sont correctement affichées avec bord gauche aligné sur bord élément parent
- dans IE7, ces élements sont décalés vers la droite, comme alignés sur le bord droit du parent, et je ne comprends pas pourquoi.
le menu est contenu dans une div appelée "nav2".
Voici le code CSS correspondant :
Je vois bien que c'est le positionnement left dans le sélecteur #nav2 li:hover ul qui pose pb :
- pourquoi IE7 ne calcule-t-il pas la position auto comme les autres ?
- dans ce cas, comment puis-je résoudre le pb ? Je viens d'y passer un paquet d'heures, pour ... pas grand résultat, et je n'y vois plus clair.
--> pouvez-vous m'aider SVP ?
Merci
Corinne M
J'ai un gros souci de positionnement sur le site : http://www.arcencieltheatre.org/v2/
Il s'agit du menu horizontal en haut de page (accueil | Compagnie Arc en ciel | etc):
- dans Firefox et autres, les éléments de sous-menu sont correctement affichées avec bord gauche aligné sur bord élément parent
- dans IE7, ces élements sont décalés vers la droite, comme alignés sur le bord droit du parent, et je ne comprends pas pourquoi.
le menu est contenu dans une div appelée "nav2".
Voici le code CSS correspondant :
#nav2 {
background-color: transparent;
background-image:none;
text-align:left;
width: 800px;
height: 25px;
}
#nav2 ul {
list-style: none;
list-style: none;
line-height: 1;
text-align:left;
}
#nav2 ul li {
position:relative; /* pour position du UL enfant */
float:left;
list-style:none;
display: block;
background-image: url(images/trait2.gif);
background-position: right;
background-repeat: no-repeat;
text-transform:uppercase;
color:#999933;
font-size:1.1em;
padding-top: 6px;
padding-right: 12px;
padding-bottom: 6px;
padding-left: 12px;
text-align:left;
}
#nav2 ul li a, #nav2 ul li a:active {
text-decoration: none;
border:none;
color:#999933;
}
#nav2 ul li a:hover {
text-decoration: underline;
}
#nav2 ul li ul {
position: absolute;
top:20px; /* indisp pour bien caler position V dans IE --> nécessite que le LI (#nav2 ul li) parent soit positionné, sinon fait ref à la fenêtre */
left: -999em; /* pour planquer menu secondaire quand pas de rollover dessus. ON mettra left/auto ensuite pour l'afficher sur rollover */
height: auto;
width: 200px;
border:1px solid #990000;
background:#ffffff;
margin:0px;
padding: 0px;
}
#nav2 li:hover ul,
#nav2 li li:hover ul,
#nav2 li li li:hover ul,
#nav2 li.sfhover ul,
#nav2 li li.sfhover ul,
#nav li li li.sfhover ul {
left:auto; /* réaffiche le sous-menu */
padding-left:0px; /* avec ce 0 l'alignement est meilleur */
}
/* important pour positionnement éléments de menu */
#nav2 ul li ul li {
position:relative;
background:none;
width:195px;
display:block;
padding-left:6px;
}
#nav2 ul li ul li a, #nav2 ul li ul li a:visited {
padding-left:-20px !important;
text-transform:none;
}
Je vois bien que c'est le positionnement left dans le sélecteur #nav2 li:hover ul qui pose pb :
- pourquoi IE7 ne calcule-t-il pas la position auto comme les autres ?
- dans ce cas, comment puis-je résoudre le pb ? Je viens d'y passer un paquet d'heures, pour ... pas grand résultat, et je n'y vois plus clair.
--> pouvez-vous m'aider SVP ?
Merci
Corinne M