5568 sujets

Sémantique web et HTML

Bonjour à tous,

j'ai un souci avec un menu déroulant assez contraignant....
Le menu est sous forme de tableau (oui je sais.... pas ma faute Smiley lol )
et accueille un sous menu.
J'ai récupéré un code JS qui affiche ou masque une div présente dans chaque TD sous cette forme là :

<td>
<a href="#" onmouseover="montre('ssmenu1')>mon lien niveau 0</a>
<div id="ssmenu1">
<ul> <li><a href="#">lien niveau 1</a></li></ul>
</div>
</td>


Le pb est que au rollout il devrait automatiquement masquer le sous menu. Mais comme le sous menu doit etre rattacher au menu et qu'il n'y a aucun lien hiérarchique entre les deux je ne trouve pas comment faire.

La deuxième solution que j'ai mis en place : les ul li classiques imbriqués de menus XHTML. (avec des hover et tout)
Tout ca marchait MAGNIFIQUEMENT BIEN SAUF.... le doctype pas bon qui fait sauter toute la mise en page du site. En gros, le site ne doit pas avoir de doctype pour fonctionner correctement, mais si j'en met pas, le menu en xhtml ne marche pas... Smiley bawling Smiley bawling Smiley bawling

J'ai essayé donc une dernière solution :


<td>
<a href="#"> menu niv 0
<div id="ssmenu1">
<ul>
<li><a href="#"></a></li>
</div>
</a>
</td>


Là du coup j'ai un lien de parentée avec le menu parentet le menu enfant (et je peux joeur sur le hover).. sauf que.. un a dans un a... ca marche pas...

Quelqu'un a t'il déjà eu ce type de contrainte et comment l'a t'il résolu ?
Merci d'avance !!!! Smiley biggrin Smiley biggrin

Je suis définitivement brouillée avec le vieux HTML..... Smiley biggol
Modifié par mymygo (17 Nov 2008 - 19:30)
Je vais faire une réponse un peu facile: ne pas faire de menu déroulant sur un site en mode Quirks. Et ne pas faire de site en mode Quirks tout court. Si on doit maintenir un site existant qui ne fonctionne qu'en mode Quirks, on ne rajoute rien, et on place toutes les demandes d'améliorations à la deadine «refonte complète du bouzin».
Oui en effet c'est un peu facile ! mais merci quand même de la réponse Smiley langue

Nan ce qui va pas c'est qu'on me fait intervenir en fin de projet donc pas le choix, je dois m'adapter dessus avec ce que j'ai...
Personne n'a pas eu le même pb ? Ou une voie possible ?
Administrateur
Bonjour,

a dans un a, houla ...

EDIT: ok pas bien lu ton problème ...

En ayant comme base le code HTML de ton 1er encadré, celui qui n'a pas de lien dans un lien:
Peut-être peux-tu coller le JS sur la cellule plutôt que le lien? Et s'il faut agir, agir sur les 2 descendants menu et sous-menu?
Ou bien garder le JS sur le lien mais le faire agir aussi sur le prochain frère?

/EDIT
La solution à l'avenir est de pas signer de contrat tant qu'on a pas vu la gueule du truc (oui je sais, plus facile à écrire qu'à faire Smiley cligne condoléances en tout cas)
Modifié par Felipe (18 Nov 2008 - 12:21)
Merci à vous deux !

J'ai trouvé une alternative en JS qui utilise les listes et ce ... sans besoin de doctype. C'est assez basique mais ca marche Smiley smile

SInon là le prochain projet c'est moi qui le dirige et il est déjà full W3C compliant !! Quel plaisir immense ! Smiley biggrin