Bonjour à tous,
je développe actuellement un site utilisant un menu CSS. Les catégories, sous catégories et sous-sous-catégories se fait via des requetes sur la base mysql.
L'affichage du menu fonctionne correctement sous ff mais bug sous Internet Explorer 7 et antérieur :
-Avec IE 7 : les sous-sous catégories ne s'affichent pas. Les sous catégories s'affichent quant à elles
-Avec IE 6 : seules les catégories s'affichent, pas d'affichage des sous cat, ni des sous sous catégories
-Avec IE 8 : tout fonctionne correctement ...
Voici le code du menu :
et voici le code css :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 <div> <!-- ouverture ul rang 1--> <ul id="menu"> <li><a href="index.php">Accueil</a></li> <li><a href="contact.php">Contact</a></li> <!-- element de rang 1 fixe--> </ul> <!--fin de la liste de rang 1 --> </div>
Si quelqu'un sait comment résoudre ce problème ...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99 #menu, #menu ul /* Liste */ { padding : 0; /* pas de marge intérieure */ margin : 0; /* ni extérieure */ list-style : none; /* on supprime le style par défaut de la liste */ line-height : 21px; /* on définit une hauteur pour chaque élément */ text-align : center; /* on centre le texte qui se trouve dans la liste */ } #menu /* Ensemble du menu */ { /*PARAMETRES A AJUSTER*/ margin-left:30px; font-weight : bold; /* on met le texte en gras */ font-family : Arial; /* on utilise Arial, c'est plus beau ^^ */ font-size : 12px; /* hauteur du texte : 12 pixels */ } #menu a /* Contenu des listes */ { display : block; /* on change le type d'élément, les liens deviennent des balises de type block */ padding : 0; /* aucune marge intérieure */ color : #fff; /* couleur du texte */ text-decoration : none; /* on supprime le style par défaut des liens (la plupart du temps = souligné) */ /*PARAMETRES A AJUSTER*/ background : #BA9F5A; /* couleur de fond */ width : 100px; /* largeur modifie origine 140px*/ height :40px; } #menu li /* Elements des listes */ { float : left; /* pour IE qui ne reconnaît pas "transparent" */ border-right : 1px solid #fff; /* on met une bordure blanche à droite de chaque élément */ } /* IE ne reconnaissant pas le sélecteur ">" */ html>body #menu li { border-right: 1px solid transparent ; /* on met une bordure transparente à droite de chaque élément */ } #menu li ul /* Sous-listes */ { position: absolute; /* Position absolue */ width: 144px; /* Largeur des sous-listes */ left: -999em; /* Hop, on envoie loin du champ de vision */ } #menu li ul li /* Éléments de sous-listes */ { /* pour IE qui ne reconnaît pas "transparent" (comme précédemment) */ border-top : 1px solid #fff; /* on met une bordure blanche en haut de chaque élément d'une sous liste */ } /* IE ne reconnaissant pas le sélecteur ">" */ html>body #menu li ul li { border-top : 1px solid transparent; /* on met une bordure transparente en haut de chaque élément */ } #menu li ul ul { margin : -42px 0 0 100px ; /* On décale les sous-sous-listes pour qu'elles ne soient pas au dessus des sous-listes modification du dernier attribut a 140 px pour regler pb des ss menus au lieu de 144px puis 100 px modification du premier attribut a - 42px pour regler pb ajustement en hauteur des sous menus afin qu ils tombent en face de leur categorie */ /* pour IE qui ne reconnaît pas "transparent" (comme précédemment) */ border-left : 1px solid #fff ; /* Petite bordure à gauche pour ne pas coller ... */ } /* IE ne reconnaissant pas le sélecteur ">" ... je me répète ;-) */ html>body #menu li ul ul { border-left : 1px solid transparent ; /* on met une bordure transparente sur la gauche de chaque élément */ } #menu a:hover /* Lorsque la souris passe sur un des liens */ { color: #000; /* On passe le texte en noir... */ background: #fff; /* ... et au contraire, le fond en blanc */ } #menu li:hover ul ul, #menu li.sfhover ul ul /* Sous-sous-listes lorsque la souris passe sur un élément de liste */ { left: -999em; /* On expédie les sous-sous-listes hors du champ de vision */ } #menu li:hover ul, #menu li li:hover ul, #menu li.sfhover ul, #menu li li.sfhover ul /* Sous-listes lorsque la souris passe sur un élément de liste ET sous-sous-lites lorsque la souris passe sur un élément de sous-liste */ { left: auto; /* Repositionnement normal */ min-height: 0; /* Corrige un bug sous IE */ }
cordialement
merci d'avance![]()
![]()
Partager