Tout est dit dans le titre.
J'en ai trouvé un sur le site du zéro mais il y implante du Java. Hors, je cherche à le faire en 100% CSS comme sur http://www.cssmenus.co.uk/dropdown.html.
J'ai cherché à analyser un peu le code mais c'est encore trop confus pour moi. Donc j'aimerai bien un article "étape par étape" si vous avez ça sous la main. C'est vraiment pénalisant de ne pas parler anglais quand on veut apprendre à coder. Smiley sweatdrop

Merci d'avance. Smiley cligne
Je suis passé ce matin. J'vais pas dire bonjour à chaque fois! Smiley lol
Quand à Alsa, je lis les articles et tutos puisque j'essaie d'apprendre sur le site. Mais je n'ai rien trouvé qui correspond à ce que je cherche. Smiley confus
Le meilleur moyen de faire un menu déroulant c'est de le faire avec javascript (java c'est autre chose) et pas en 100% css ce qui pose de gros problèmes d'accessibilité. Pour avoir plus facile, tu peux utiliser jquery et le plugin superfish.

P.S. : heu je trouve ton avatar particulièrement énervant, tu n'as pas le même en version fixe? Smiley sweatdrop
Modifié par Patidou (07 Sep 2009 - 16:52)
Davadel a écrit :
Je suis passé ce matin. J'vais pas dire bonjour à chaque fois! Smiley lol

Comme tu peux imaginer ce que peut représenter une communauté de plus de 23000 membres, pour je ne sais combien de message, il y a fort à parier que la plupart n'ont pas forcément vu tous les messages que tu as pu faire dans une même journée.

Prendre une fraction de seconde à écrire "bonjour" ou "salut", me semble un minimum de correction vis à vis des visiteurs qui vont passer au moins autant de temps à lire ton sujet, et peut être encore plus à y répondre. Donc par respect pour eux, merci d'y prêter un peu plus d'attention, d'autant que c'est une des règles de ce forum, que tu es censé avoir lu et accepté d'ailleurs. Merci de ta compréhension. Smiley cligne
Bonjour donc,
J'aime pas trop ce genre de réponse mais dans ces cas là, tu le fais pour tout le monde.
Je prends l'exemple ici http://forum.alsacreations.com/topic-1-43951-1-Resolu-MarkitUP-mais-en-mieux.html où l'admin lui même ne me salut pas. Je ne lui en veux même pas parce que grâce à lui, j'ai eu la réponse que je cherchais.
Patidou non plus ne le fait pas sur ce sujet par exemple mais je m'en fou un peu puisqu'il apporte une réponse (pas forcement celle que je cherche au passage Smiley lol ).

Mais je prends note de ta remarque malgré tout et j'essaierai de faire attention. Je suis juste là pour apprendre et je ne veux pas être traqué comme un sans papier... Smiley eek

Pour patidou, sur le lien du menu que je donne, il est parfaitement compatible avec IE6 ET 100% CSS. La raison pour laquelle je cherche à le faire en CSS uniquement est que je veux y aller étape/étape et je veux me consacrer uniquement au CSS/XHTML. Javascript, c'est pour plus tard. Smiley cligne
Le problème ce que un ne va pas sans l'autre. Mais bon si c'est juste pour apprendre, je comprends parfaitement. J'espère que la version finale sera avec javascript. Smiley cligne

edit : finalement non, superflu
Modifié par Patidou (09 Sep 2009 - 11:58)
Patidou a écrit :

P.S. : heu je trouve ton avatar particulièrement énervant, tu n'as pas le même en version fixe? Smiley sweatdrop


+1, un fixe c'est mieux Smiley cligne
Bonjour
Avatar changé.
A défaut d'avoir un tuto, pourrai je avoir une méthodologie SVP?

Je sais que je dois crée mon menu à l'aide des puces. Pour le menu "dropdown", il faut que je crée une nouvelle list à l'intérieur du Smiley li .
Ensuite, il faut "floater" les Smiley li pour mettre le menu à l'horizontal.

Mais je sèche pour le tour de passe-passe qui fait disparaitre les sous menus (position relative négative?) et le faire réapparaitre grace à :hover.

merci d'avance Smiley smile
Modifié par Davadel (09 Sep 2009 - 20:43)
Davadel a écrit :
Bonjour donc,
J'aime pas trop ce genre de réponse mais dans ces cas là, tu le fais pour tout le monde.
Je prends l'exemple ici http://forum.alsacreations.com/topic-1-43951-1-Resolu-MarkitUP-mais-en-mieux.html où l'admin lui même ne me salut pas. Je ne lui en veux même pas parce que grâce à lui, j'ai eu la réponse que je cherchais.
Patidou non plus ne le fait pas sur ce sujet par exemple mais je m'en fou un peu puisqu'il apporte une réponse (pas forcement celle que je cherche au passage Smiley lol ).

Mais je prends note de ta remarque malgré tout et j'essaierai de faire attention. Je suis juste là pour apprendre et je ne veux pas être traqué comme un sans papier... Smiley eek

Dans la mesure où l'admin en question t'apporte son aide, même s'il est mieux de saluer quand même, il est difficile de lui reprocher son aide sous se prétexte. Par contre quand tu ouvre un sujet et que tu es demandeur, cela semble bien plus normal. Et en général les gens dans ce cas, lorsqu'on voit un sujet on le leur signale, mais nous ne sommes pas omniprésents sur le forum, car nous faisons ça bénévolement, avec plaisir certes, mais pour que ce plaisir continue, il implique que la communauté mette du sien à respecter ces quelques bases de civisme. A propos de bénévole, l'admin en question en est à plus de 16000 posts sur ce forum, il aide un peu tout le monde ici, donc on va pas lui en vouloir. Smiley langue
Maintenant, j'ai attiré ton attention sur ce point des règles, tant mieux s'il est assimilé. Smiley cligne
Modifié par Mikachu (09 Sep 2009 - 22:11)
Bonjour,

Comme déjà dit par d'autres: les menus déroulants en pur CSS, c'est le mal. En vertu de quoi, je me garderai bien d'indiquer toute ressource francophone ou non pour réaliser ce genre de menu.

Quand on n'a pas les compétences (de niveau professionnel) pour réaliser un menu déroulant ergonomique et accessible, il vaut mieux pour tout le monde faire un menu simple sans effet particulier au survol.

(C'est une opinion tranchée et j'assume. Smiley smile )
Florent V. a écrit :
Bonjour,

Comme déjà dit par d'autres: les menus déroulants en pur CSS, c'est le mal. En vertu de quoi, je me garderai bien d'indiquer toute ressource francophone ou non pour réaliser ce genre de menu.

Quand on n'a pas les compétences (de niveau professionnel) pour réaliser un menu déroulant ergonomique et accessible, il vaut mieux pour tout le monde faire un menu simple sans effet particulier au survol.

(C'est une opinion tranchée et j'assume. Smiley smile )

Pourrais tu m'indiquer pourquoi? Parce que celui qui est téléchargeable sur cssmenu est fonctionnel sur les versions antérieurs d'IE. Il est donc accessible, non? Smiley sweatdrop

Quand à la deuxième partie du post, je ne suis pas d'accord. Je n'ai pas eu mon bac dès le premier jour de cours par exemple. Il a fallu que je bosse (+/- Smiley langue ) de nombreux sujets +/- utile pour la vie de tout les jours afin de l'avoir. Tu as surement été débutant un jour et je suppose que tu n'a pas acquis ce niveau les mains dans les poches.

Là, je cherche à faire ce type de menu uniquement en CSS parce que je veux faire du webdesign amateur et que je me consacre pour l'instant uniquement à l'apprentissage du xhtml et css. Je n'ai pas envie de griller les étapes et apprendre la moitié d'un langage puis passer à un autre pour ensuite revenir au précédent.

Ce menu m'aiderai à comprendre comment on fait disparaitre proprement un bloc pour le faire réapparaitre quand on survole son parent.

Merci du temps éventuelle que quelqu'un prendrait pour m'expliquer pourquoi c'est mal alors que le code semble propre et compatible avec les anciens navigateurs. Smiley cligne
Salut,

Davadel a écrit :
Merci du temps éventuelle que quelqu'un prendrait pour m'expliquer pourquoi c'est mal alors que le code semble propre et compatible avec les anciens navigateurs.
Le principal problème des menus déroulants full CSS (en plus d'être des menus déroulants et donc déjà problématiques Smiley cligne ) est qu'ils ne permettent pas la navigation au clavier (touche de tabulation) or tout le monde ne dispose pas d'une souris, que ce soit par obligation ou par choix personnel.

Par ailleurs l'utilisation de JavaScript dans ce cas précis peut permettre d'améliorer l'ergonomie et de résoudre le problème d'IE6 qui ne reconnaît la pseudo-classe :hover que sur les liens.
Heyoan a écrit :
Salut,

Le principal problème des menus déroulants full CSS (en plus d'être des menus déroulants et donc déjà problématiques Smiley cligne ) est qu'ils ne permettent pas la navigation au clavier (touche de tabulation) or tout le monde ne dispose pas d'une souris, que ce soit par obligation ou par choix personnel.

Par ailleurs l'utilisation de JavaScript dans ce cas précis peut permettre d'améliorer l'ergonomie et de résoudre le problème d'IE6 qui ne reconnaît la pseudo-classe :hover que sur les liens.

Ah oui zut, bonjour ( Smiley kc )
Merci pour ta réponse. Il est évident qu'il ne sert à rien de mettre des sous menus pour un contenu "pauvre".
merci pour votre éclairage sur la question. Smiley jap
Notons enfin que réaliser un menu déroulant full-CSS, si on ne cherche pas à le rendre compatible IE6 (parce que là ça serait du gros hack qui tâche...), ça fait un bon exercice de CSS. C'est d'ailleurs la base nécessaire en général pour utiliser un script comme Superfish qui permet d'améliorer l'accessibilité et l'ergonomie du menu déroulant.

Il faut juste éviter d'utiliser le résultat de cet exercice en production.
Salut Florent,
Donc j'en reviens au point de départ. Encore une fois, à l'heure actuel je ne travaille sur aucun projet. J'apprends juste à coder et j'ai besoin de bien comprendre les mécanismes du langage.

J'ai bien noté que lorsque je serais amené à faire un menu de ce genre, je privilégierais le javascript au nom de l'accessibilité. Mais je suis preneur de ce genre d'exercice. En faites, ce n'est pas vraiment un tuto que je cherches mais bien une méthodologie.

A ce propos, quand IE6 aura disparu, est ce que le full css sera de rigueur?

Merci d'avance,
Cordialement.
Davadel a écrit :
En faites, ce n'est pas vraiment un tuto que je cherches mais bien une méthodologie.

Alors un début de méthodologie:

1. Apprendre à se servir des pseudo-classes :hover et :focus en CSS. Les utiliser dans des pages de test. Essayer de faire varier la mise en forme d'un lien au survol. Essayer de faire varier la mise en forme d'un lien au focus. Essayer d'obtenir un comportement similaire aussi bien au survol qu'au focus. Et tester avec un navigateur, en utilisant aussi bien la souris (phase 1) que le clavier exclusivement (phase 2). Rappel: avec la majorité des navigateurs, la touche utilisée pour la navigation au clavier est Tab (Shift+Tab pour revenir en arrière).

2. Apprendre le positionnement CSS. Nombreuses ressources disponibles sur Alsacréations.

3. Pour la structure HTML d'un menu déroulant, on va en général utiliser des listes imbriquées: une liste UL avec un LI pour chaque rubrique, et dans chaque LI un intitulé dans un lien (A) et les liens de la rubrique dans une nouvelle liste UL.

4. Vérifier que l'on est capable d'attribuer des styles uniquement aux LI de premier niveau, aux A dans ces LI, aux UL et LI de second niveau, etc. Réviser les sélecteurs CSS si ce n'est pas le cas.

5. Placer les différents LI de premier niveau côte-à-côte (pour un menu déroulant horizontal). Laisser les UL affichés en dessous des intitulés de rubrique.

6. Masquer les UL de deuxième niveau. Au survol des LI de premier niveau, les afficher à nouveau. On peut jouer, en CSS, sur la propriété CSS display, et sur la pseudo-classe :hover.

7. Pour que la hauteur des UL de second niveau ne soit pas prise en compte quand ils s'affichent, on devra les positionner en absolu. Si le positionnement CSS est un minimum connu, ça ne devrait pas poser problème. On voudra sans doute positionner ces sous-menus par rapport à leur parent (LI de premier niveau) plutôt que par rapport à la page.

8. Ne pas oublier qu'on n'a réalisé via les étapes 1-7 qu'un prototype, à ne pas utiliser en production.

Davadel a écrit :
A ce propos, quand IE6 aura disparu, est ce que le full css sera de rigueur?

Non. Le problème de compatibilité IE6 aura disparu. Pas le problème de compatibilité avec les navigateurs mobiles (comment tu survoles un élément avec des boutons ou une interface tactile, hum?). Et pas non plus les problèmes d'accessibilité et d'ergonomie déjà signalés.

Le survol (qu'on le gère en CSS avec la pseudo-classe :hover ou en JavaScript) n'est tout simplement pas un bon moyen de garantir un accès à l'information. Il faut toujours, au minimum, le doubler d'un mécanisme au focus; et autant que possible favoriser le clic plutôt que le survol et le focus.