28220 sujets

CSS et mise en forme, CSS3

Bonjour,

J'ai beau cherché sur le net mais impossible de trouver un menu déroulant en css n'utilisant pas le javascript ou bien sinon il ne fonctionne pas sous IE.

Connaîtriez vous un script de menu déroulant fonctionant sous IE, Firefox, et safari n'utilisant pas le javascript ou bien n'utilisant pas les propriétés onmouseover, onmouseout, focus, onblur ?

Merci d'avance.

Cordialement,
Laurent
Modérateur
Selon moi, je considère que les menus déroulants devraient tous se dérouler via Javascript. C'est son rôle, et non pas celui des CSS. Il ne faut pas détourner le rôle des CSS qui est de donner du style aux éléments d'une page web, et non pas de faire réagir des objets sur des événements de la souris. Je trouve ca plutôt limite de vouloir faire des menus déroulants qui ouvre des sous-menu juste en css grâce à hover. Je suis plutôt contre, pour être honnête. Le Javascript est une belle invention, il faut savoir s'en servir. L'important est seulement de faire en sorte que tu puisse naviguer dans ton site sans Javascript. D'ailleurs, ergonomiquement parlant, les menus déroulants à plusieurs niveaux est loin d'être idéal. C'est un sujet controversé. Personnellement, je les évite comme la peste maintenant.
Ok je te comprend tout à fait, seulement si on utilie le javascript, on doit utiliser les élément onblur, onfocus, onMouseOver, ... or ils ne sont pas valident. Comment faire alors ?
Modérateur
Ouaibou a écrit :
Ok je te comprend tout à fait, seulement si on utilie le javascript, on doit utiliser les élément onblur, onfocus, onMouseOver, ... or ils ne sont pas valident. Comment faire alors ?


Je crois bien qu'ils sont valident, au contraire. Il faut juste que tu écrive ces événements en lettres minuscules : onmouseover par exemple.

Une autre méthode, encore préférable, c'est de mettre ces événements dans un fichier js externe. Tu peux ensuite lier un événement et une fonction à chaque élément du document html via Javascript. Ce qui fait en sorte que ton document html n'a aucune trace de Javascript, sauf l'appel du fichier externe. Le validateur ne peut donc jamais broncher.