Voilà je suis occupé de recoder entièrement mon site, et je me suis donc mis au css.
Je me suis servi du menu horizontal. Les menus sont bien en place, aucun problème à signaler de ce coté.
Ne désirant pas précharger tous les sous menu au chargement de la page (car ayant des pages très lourdes, ça aurait été inestétique), j'ai décidé de mettre un display:none dans les sous menu et d'enlever la ligne window.onload.
C'est là que ça se corse car opera a l'air d'avoir besoin de cette ligne et refuse d'afficher quoi que ce soit si un display:non est ajouté.
Je ne me suis pas cassé la tête à ce moment là, j'ai donc continué ce que j'avais en tête, mette un sous-menu par défaut lors du chargement de la page ("survolé le menu pour faire apparaître le sous-menu correspondant"). J'ai donc trifouillé un peu le code et je suis arrivé à ceci :
Dans mon css :
Ma fonction javascript modifiée qui affiche le sousmenu 7 :
et les morceau de code html :
Ca fonctionne nickel sous IE (5 et 6), sur Firefox aussi... mais pas sur Opera, qui refuse d'afficher quoi que ce soit avec ce display:none ...
Quelqu'un pour me mettre sur la voie ?
Merci d'avance.
Je me suis servi du menu horizontal. Les menus sont bien en place, aucun problème à signaler de ce coté.
Ne désirant pas précharger tous les sous menu au chargement de la page (car ayant des pages très lourdes, ça aurait été inestétique), j'ai décidé de mettre un display:none dans les sous menu et d'enlever la ligne window.onload.
C'est là que ça se corse car opera a l'air d'avoir besoin de cette ligne et refuse d'afficher quoi que ce soit si un display:non est ajouté.
Je ne me suis pas cassé la tête à ce moment là, j'ai donc continué ce que j'avais en tête, mette un sous-menu par défaut lors du chargement de la page ("survolé le menu pour faire apparaître le sous-menu correspondant"). J'ai donc trifouillé un peu le code et je suis arrivé à ceci :
Dans mon css :
#pageHeader #smenu1, #pageHeader #smenu2, #pageHeader #smenu3, #pageHeader #smenu4, #pageHeader #smenu5, #pageHeader #smenu6, #pageHeader #smenu7 {
position: absolute;
left: 0;top:28px;
font-size: 11px;
color: #FFFFFF;
width: 995px;
display:none;
}
Ma fonction javascript modifiée qui affiche le sousmenu 7 :
<script type="text/javascript">
window.onload=montrepremssmenu;
function montrepremssmenu(id) {
id='smenu7';
var d = document.getElementById(id);
d.style.display='block';
}
function montre(id) {
var d = document.getElementById(id);
for (var i = 1; i<=10; i++) {
if (document.getElementById('smenu'+i)) {document.getElementById('smenu'+i).style.display='none';}
}
if (d) {d.style.display='block';}
}
</script>
et les morceau de code html :
[...]
<dl>
<dt onmouseover=\"montre('smenu2');\"><a href=\"#\">Actualités et Articles</a></dt>
<dd id=\"smenu2\">
<ul>
<li><a href=\"actualite.html\">Les actualités</a></li>
<li><a href=\"articles.html\">Les articles</a></li>
<li><a href=\"actualites-rss.html\">Flux RSS d'actualités en continu</a></li>
<li><a href=\"#\">Proposer une actualité</a></li>
</ul>
</dd>
</dl>
<dl>
<dt onmouseover=\"montre('smenu3');\"><a href=\"#\">Les sections</a></dt>
<dd id=\"smenu3\">
<ul>
<li><a href=\"liens-partenaires-annuaire.html\">Liens et partenaires</a></li>
<li><a href=\"logitheque.html\">Logithèque</a></li>
<li><a href=\"medias\">Médiathèque</a></li>
<li><a href=\"prix\">Comparateur de prix</a></li>
</ul>
</dd>
</dl>
<dl>
<dt onmouseover=\"montre('smenu7');\"></dt>
<dd id=\"smenu7\">
<ul>
<li><i>Passez votre souris sur un menu ci-dessus pour voir le sous-menu correspondant...</i></li>
</ul>
</dd>
</dl>
[...]
Ca fonctionne nickel sous IE (5 et 6), sur Firefox aussi... mais pas sur Opera, qui refuse d'afficher quoi que ce soit avec ce display:none ...
Quelqu'un pour me mettre sur la voie ?

Merci d'avance.