Menu de menus de menus - HTML/CSS - Programmation
Marsh Posté le 13-08-2007 à 15:10:08
Voilà un exemple de menu que j'avais fait en css il y a presque deux ans :
http://forum.hardware.fr/hfr/Progr [...] 8186_1.htm
Je ne me souviens plus s'il fonctionne avec opera, mais je n'ai pas eu de problème avec firefox et en plaçant les réglès css sur des liens (au lieu des <li> et <ul> ) ça fonctionne aussi avec IE.
Je te laisses regarder la partie css et l'adapter à ton menu.
Marsh Posté le 13-08-2007 à 15:31:04
Le problème est que c'est un menu de menus donc avec plusieurs niveaux (cf. http://ludwig-sun1.unil.ch/~smoretti/reformat.png pour une capture d'écran); sans balises li ni ul en plus.
Marsh Posté le 13-08-2007 à 16:13:13
C'est pour ça que je te disais d'adapter ce que j'avais fait.
Moi j'étais parti de listes imbriqués pour l'accessibilité, mais à l'affichage,je le faisait s'afficher comme si c'était une balise <table> (le fameux display:table.
Au final, même si j'avais choisit des composants table, j'aurais quand même eu les cas "none", "inherit" et "table" dans mes display.
Au fait, à quoi ça te sert de modifier la propriété css "visibility" alors que le "display" à "none" suffit pour le cacher et libérer son espace à l'écran? De même à quoi ça te sert de changer la propriété css "position" alors que le display à none est censé libérer toute la place qu'il prenait à l'écran? Vu que t'as testé ton menu sur plus de navigateur que moi, il y a peut être une raison, mais je ne la vois pas.
Marsh Posté le 13-08-2007 à 16:29:45
Si j'enlève la propriété visibility du javascript, firefox se met à avoir le même comportement que IE.
J'ai d'autres propriétés visibility dans le code XHTML afin d'avoir un rendu si le javascript n'est pas actif. C'est peut-être ces propriétés là qui interfèrent.
Le problème c'est que je ne trouve que très peu d'exemples pour les menus contenant d'autres menus.
Marsh Posté le 13-08-2007 à 14:46:08
Salut,
Je réalise un menu, sous forme de liens, qui fait apparaitre deux autres liens par sous-menus.
Les liens des sous-menus font apparaitre une table.
Pour cela j'utilise javascript et CSS dans mon XHTML 1.0
Tout fonctionne bien partout (Linux: Firefox, Opera, Konqueror, Netscape; Mac: Safari, Firefox, Opera; Win: Firefox, Opera, Netscape, Safari)
sauf avec Internet Explorer où les sous-menus n'apparaissent pas mais leurs emplacements oui.
Voici ce que j'utilise:
if(element_styleA) {
if (element_styleA.visibility == 'hidden') {
element_styleA.visibility='visible';
element_styleA.display=''; // to get browser default ?
element_styleA.position='relative';
} else {
element_styleA.visibility='hidden';
element_styleA.display='none';
element_styleA.position='absolute';
}
}
Voici la structure de l'ensemble:
<div>
<table lien1>
<div>
<table sous-lien1>
<table choix-final>
</table>
</table>
<table sous-lien2>
...
</div>
</table>
<table lien2>
...
<div>
Y a-t-il un mix des CSS display, position et visibility qui fonctionne sous tous les navigateurs ?
Merci