| Auteur | |
|---|---|
| EricLB | # 03 Dec 2006 - 19:17:11 |
| 363 Posts |
Bonjour vaut-il mieux utiliser des listes ou des tableaux pour les menus déroulants ? Facile, vous me direz : des listes ! Les tableaux ne sont pas là pour cet usage. Ok, je suis d'accord avec vous mais comment faire dans ce cas : Celà ne concerne que IE 6 et IE 7 : 1° Option menu liste code html <ul class="titres"> code css
L'élément conteneur ul a une largeur de 95px, le white-space:nowrap; empêche le texte de passer à la ligne. La conteneur prend la taille du dernier élément de liste plus long que les autres. Dasn IE 6 et IE7, sur les 4 premiers éléments de liste, au roll-over le fond change de couleur sur 95px pour les 4 premiers et sur toute la longueur pour le dernier. Voici une image pour illustrer le propos : Si je remplace la liste des sous-rubriques par un tableau, je peux faire changer le fond de couleur sur toute la longueur et j'obtiens l'effet voulu... Une autre solution ? |
| EricLB | # 04 Dec 2006 - 20:42:51 |
| 363 Posts |
Personne n'a de solution à proposer ? |
| knarf | # 04 Dec 2006 - 20:53:24 |
| 988 Posts |
bonjour, je n'ai pas testé mais en rajoutant le "width:100%" au lien en display-block |
| EricLB | # 04 Dec 2006 - 21:41:41 |
| 363 Posts |
Non, déjà testé ! |
| knarf | # 05 Dec 2006 - 05:33:19 |
| 988 Posts |
Bonjour Eric, Ce doit être un problème de haslayout avec IE car apperement en rajoutant "height:1px" au lien cela semble fonctionner ils prennent toute la largeur au moins sous IE6. Modifié par knarf (05 Dec 2006 - 05:36) |
| EricLB | # 05 Dec 2006 - 07:38:47 |
| 363 Posts |
Oui au moins sur IE6... C'est ça leproblème, si tu regardes dans IE7, il n'y a pasde changement. En fait le problème maintenant ce n'est plus IE6 mais IE7 ! Merci Microsoft |
| EricLB | # 05 Dec 2006 - 17:50:48 |
| 363 Posts |
Personne n'est encore au point sur les bugs d'IE7 ? C'est étonnant |
| Raphael | # 05 Dec 2006 - 18:18:33 |
Mangez des kiwiz ! Administrateur 11080 Posts |
EricLB a écrit : Je n'ai fait que survoler le sujet, mais il semblerait que ce soit au départ un bug de IE6 et non de IE7. Tu as bien utilisé les commentaires conditionnels, pour corriger le bug uniquement sur IE6 et inférieur ? Sinon, as-tu essayé zoom:1, souvent plus inoffensif ? Modifié par Raphael (05 Dec 2006 - 18:19) Le saviez-vous ? Alsacréations propose dorénavant des formations web (XHTML/CSS, accessibilité, Flash, jQuery). |
| gcyrillus | # 05 Dec 2006 - 18:25:58 |
| 1234 Posts |
bonjour, sans avoir tester , tuas dans l'ul parente un :width:95px + les 2em de padding par defaut de IE , qui t'amene vers 113px de largeur ... appliquer a ul li ul li ... par un width : 100% ... ce width 100% correspond pour IE a la derniere reference de taille trouvé dans les parents. Il va laisser "s'aggrandir" , mais dimensionnera au max et par defaut a 95px+2em (selon ton css ) et faire fis de la largeur reele de son parents directe qui n'a pas de dimension donnée. Essai voir en appliquant le zoom:1; a ul li ul si cela suffit a activé le width:100% comme attendu . ++ <edit> peut-etre quen laissant tombé le width 100%; et en mettant par exemple un :height:1em ou 1.2em sur a , tu aurais le layout et plus la limite en largeur du parent. re ++ </> Modifié par gcyrillus (05 Dec 2006 - 18:32) Mes quelques resources sur la mise en forme : http://yidille.free.fr/plux/valign : trés fouillis et en français plus que moyen |
| 20cent | # 06 Dec 2006 - 16:59:41 |
| 165 Posts |
Bingo ! Pfiou, c'était pas de la tarte ! http://20cent.net/docs/divers/eric.html Vincent |
| EricLB | # 07 Dec 2006 - 10:20:24 |
| 363 Posts |
20cent a écrit : Salut Vincent, J'ai essayé ta méthode appliqué à mon cas, mais je n'arrive pas ton résultat... menu déroulant |
| EricLB | # 07 Dec 2006 - 10:23:47 |
| 363 Posts |
gcyrillus a écrit : Bonjour, Dans ce genre de cas la première chose que je fais est de tester zoom:1; ou height:1% pour les problèmes de layout dans IE - dans ce cas c'est inefficace. Pour le padding de 2 dans IE, ça ne peut pas être le cas puisque j'ai mis les margin et padding des ul et li à 0 (1° ligne des css) Modifié par EricLB (07 Dec 2006 - 10:24) |
| gcyrillus | # 07 Dec 2006 - 22:08:48 |
| 1234 Posts |
bonsoir, ton css repris pour illustrer mes idées en parties ... <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html ++ Mes quelques resources sur la mise en forme : http://yidille.free.fr/plux/valign : trés fouillis et en français plus que moyen |
| chmel | # 08 Dec 2006 - 00:07:20 |
| 654 Posts |
EricLB a écrit : Bonjour, EricB Ton lien ne marche pas .J'ai cru comprendre que tu as un problème de hashlayout. Je serait curieux de savoir si ma version fonctionne sur IE7 |
| EricLB | # 08 Dec 2006 - 00:45:20 |
| 363 Posts |
Oups ! Effectivement, j'en suis à la enième version et les noms ont changé. Désolé Ta version fonctionne chez moi dans IE7 (version standalone) Je ne pense pas refaire mon code (j'ai trop ramé pour obtenir un truc qui tienne la route) mais ton code est simple et efficace - j'aurais pas pensé aux marges négatives, je suis même étonné que ça fonctionne aussi bien ! Je reprends mon post... J'avais pas vu que ton code était basé uniquement sur du js pour le comportement ! L'idée de ce que j'ai fait est que celà puisse fonctionner même sans js (sauf pour IE) Modifié par EricLB (08 Dec 2006 - 00:47) |
| gcyrillus | # 08 Dec 2006 - 01:14:00 |
| 1234 Posts |
bonsoir, @chmel Ben moi dans ma version standalone (beta embarqué ) , ul s'ecrase sur elle même et ne laisse pas apparaitre ses li , qui reagissent au hover . Avec un height:2em , le menu apparait enfin .</> J'ai plusieurs version de IE en standalone et j'ai gardé IE6 en version "normale" ... sauf que je viens de m'apercevoir , qu'il comprend : "!important , sitot que je lance IE7 , me reste plus qu'a rebooté .... Arf decidement , ce IE est un vrai mystere et du coup je n'ai aucune idée du vrai rendu par IE6 de mon code precedement posté. pour ce qui est de ton probleme , je mantient qu'il vient des limites imposée par la taille du parent et de sa marge de 2em (margin). En appliquant le layout ,et sans dimension aux parents , les li occupent alors la largeur de la page. ... Une histoire a se mordre la queue. Le js , semble etre une soluce avantageuse pour toi en estimant que tu en ais besoin pour un menu deroulant compatible IE. Désolé de ne pas pouvoir t'aider plus que ça. Mes quelques resources sur la mise en forme : http://yidille.free.fr/plux/valign : trés fouillis et en français plus que moyen |
| chmel | # 08 Dec 2006 - 22:51:18 |
| 654 Posts |
EricLB a écrit :Merci
ouais, mais ça ne marche pas au clavier et tes liens en display:block des sous-menus n'y sont pas vraiment sous IE. J'ai fait marcher ton menu avec mon script. Pour cela, j'ai pas mal simplifié ton CSS et pour éviter des problèmes avec les bordures sous IE, j'utilise plutot margin-left que display:none pour cacher les sous-menus Modifié par chmel (10 Dec 2006 - 22:47) |
Les références web : openweb.eu.org - opquast.com - webmaster-hub.com - webrankinfo.com - salemioche.net - web-pour-tous.org - webonorme.org
Nos partenaires : Editions Eyrolles