28172 sujets

CSS et mise en forme, CSS3

Bonsoir à tous,

voila j'ai fais un petit site pour mon frère armoniz.fr

mais je viens de me rendre compte que sous IE6 ça ne fonctionnais pas... j'ai bien vérifier sous safari, IE7, firefox... mais pas IE6

résultat le menu déroulant ne fonctionne pas... et donc toute la navigation... que je suis bête !

Quelqu'un pourrais-t-il m'aiguiller svp car je recherche désespérément la solution avec firebug mais je n'arrive pas à m'en sortir.
Modifié par kouto (17 Feb 2009 - 00:35)
Bonjour,

Ce menu déroulant fonctionne (à la souris uniquement, pas au clavier...) via l'utilisation de la pseudo-classe :hover sur les éléments LI. Or, IE6 ne comprend :hover que pour les liens, et de fait il est impossible de faire un menu déroulant full CSS compatible IE6 (ou accessible au clavier, mais c'est une autre histoire).

Tu pourrais éventuellement utiliser Superfish (plugin jQuery) pour dynamiser et améliorer tout ça, mais c'est un poil lourd.
Ericf a écrit :
Pourquoi Superfish alors qu'il y a Suckerfish ?

Parce que Sons of Suckerfish c'est mieux que Suckerfish, et que Superfish c'est mieux que Sons of Suckerfish. Voilà pourquoi.
Bah oui t'as sans doute raison.
Et puis il est préférable d'avoir plusieurs centaines de lignes de code plutôt qu'une petite dizaine pour faire exactement la même chose Smiley biggrin
Ericf a écrit :
Bah oui t'as sans doute raison.

Oui.

Ericf a écrit :
Et puis il est préférable d'avoir plusieurs centaines de lignes de code plutôt qu'une petite dizaine

Non.

Ericf a écrit :
pour faire exactement la même chose Smiley biggrin

Bien tenté, mais non. Différences essentielles (et en laissant de côté les détails): 1) accessibilité au clavier et 2) optimisation ergonomique via un temps de latence avant la fermeture d'un sous-menu.

Pour un site qui utilise déjà jQuery, Superfish est une solution largement supérieure à celle que tu indiques (Sons of Suckerfish). Pour un site qui ne l'utilise pas, ça se justifie peut-être moins, mais je n'en suis même pas sûr.
Tu disais plus haut que Superfish est un poil lourd, et là tu rejettes une solution faite de 10 lignes de codes... Comprenne qui pourra...

Fin du dialogue pour moi, puisque de toute façon et quoi que tu dises ou que qui que ce soit dise quoi que ce soit, tu as raison et tu auras toujours raison. Smiley prie

Ha tiens pendant que j'y suis, on m'a proposé d'aller donner une formation pas loin de Lyon dont je n'aurai pas le temps de m'occuper, es-tu intéressé ?
Modifié par Ericf (17 Feb 2009 - 10:20)
Ericf a écrit :
Tu disais plus haut que Superfish est un poil lourd, et là tu rejettes une solution faite de 10 lignes de codes...

Je ne la rejette pas. Je dis qu'elle est moins bonne fonctionnellement. Ces deux solutions ne sont PAS équivalentes, l'une est sensiblement meilleure que l'autre du point de vue des fonctionnalités.

Après il s'agit de choisir:
- solution moins bien mais légère;
- solution tip top mais lourde en ko et dans une certaine mesure en temps d'évaluation (car nécessitant jQuery).

Avec une bonne politique de gestion des performances JavaScript (appels de scripts en fin de code HTML, script minifié servi avec compression gzip), j'estime que la solution jQuery + Superfish est le meilleur choix.

Maintenant si on n'a pas l'utilité de jQuery par ailleurs sur le site, si on n'a qu'une connaissance minimale de JavaScript et qu'on veut limiter le JS utilisé autant que possible, si on se fout royalement de la navigation au clavier... pourquoi pas Sons of Suckerfish.

Ericf a écrit :
Fin du dialogue pour moi, puisque de toute façon et quoi que tu dises ou que qui que ce soit dise quoi que ce soit, tu as raison et tu auras toujours raison.

J'ai un avis et des arguments. Smiley smile J'ai eu l'occasion d'utiliser chacune des deux solutions au moins une fois, dans des intégrations pro, donc je pense avoir une vision assez claire de leurs mérites respectifs. Mais mon avis n'est pas parole d'évangile pour autant, bien entendu.

Ericf a écrit :
Ha tiens pendant que j'y suis, on m'a proposé d'aller donner une formation pas loin de Lyon dont je n'aurai pas le temps de m'occuper, es-tu intéressé ?

Pourquoi pas, à tout le moins je suis intéressé par l'information. Smiley smile
Merci a vous deux de m'avoir répondu.

je prend la solution la plus rapide car mon frere attend...

mais franchement je n'arrive pas à mettre en place le script.

a la fin de mon </head> je place

sfHover = function() {
	var sfEls = document.getElementById("menuDeroulant").getElementsByTagName("LI");
	for (var i=0; i<sfEls.length; i++) {
		sfEls[i].onmouseover=function() {
			this.className+=" sfhover";
		}
		sfEls[i].onmouseout=function() {
			this.className=this.className.replace(new RegExp(" sfhover\\b"), "");
		}
	}
}
if (window.attachEvent) window.attachEvent("onload", sfHover);


et je change les paramètres de mon nav ( pour moi c'est menuDeroulant) comme indiqué dans le lien http://www.pompage.net/pompe/deroulants/


mais rien n'y fais ... si quelqu'un pourrai m'aider svp Smiley sweatdrop

Par avance merci.[/i][/i]