Menus déroulants et List box
Par Laurentj le mercredi, décembre 31 2003, 09:56 - Technologies Web - Lien permanent
Je suis allé sur le site d'Eyrolles, qui vient d'être refait tout en XHTML/CSS par Olivier et ses collègues (et aussi sam). Il est superbe, accessible, réalisé dans les rêgles de l'art CSS :-).
Tellement bien fait que je viens de découvrir une astuce du tonnerre. Je ne sais pas si vous avez déjà experimenté, mais les élements en positions absolus et les boites de liste select ne font pas bon ménage sous IE (et oui, encore...). En effet, par exemple, si on fait un menu déroulant juste au dessus d'une boite select, sous IE, la div passe sous la list-box. C'est vraiment, vraiment pas pratique. On a beau jouer sur le style z-index, rien n'y fait.
L'astuce, toute bête, consiste simplement, à l'apparition du menu, de mettre le style visibility:hidden; sur le select pour le cacher, et de le faire réapparaitre quand le menu déroulant disparait.
Je me suis souvent fais ch*** avec cette connerie de bug dans IE, et je n'ai même pas pensé à cette astuce ! Et c'est tellement simple que je mériterai de me cogner la tête sur le mur...
Commentaires
génial! c'est exactement ce que je cherchais à faire depuis déjà 2 jours sans succès
d'un autre coté, le secret de ce site c'est peut etre bien le script java ; et des menus déroulants bien propres, tout le monde sait en faire avec un peu de java. Merci de m'avoir fait perdre toute une apres midi à rêver qu'on pouvait faire ca juste avec du HTML et CSS.