[ok]Mise en page menu CSS

HTML5, CSS3, Javascript, support des mobiles... Que penser de votre site ? Vous manquez d'informations pour la construction d'un site qui puisse s'afficher correctement partout ? C'est un problème simple, un peu complexe ? Venez ici !
lordbdp
Gecko
Messages : 87
Inscription : 22 sept. 2005, 19:51

[ok]Mise en page menu CSS

Message par lordbdp »

Bonjour à toutes et à tous,

J'utilise pour le menu haut un modèle Alsacréations, et pour le sous-menu un modèle Listamatic (http://www.e-central.fr). Mais je souhaiterai changer le sous menu par ce modèle (http://css.maxdesign.com.au/listamatic/horizontal26.htm).

Donc j'ai créé une autre CSS avec le contenu du modèle donné, et j'ai transformé dans la partie HTML :

Code : Tout sélectionner

<ul id="menuhautlist">
<li onmouseover="javascript:montre();"><a href="?page=1" title="Retour à l'accueil" id="current">Accueil</a></li>
   <li onmouseover="montre('smenu2');"><a href="#">Boutiques</a></li>
       <li><ul id="smenu2">
        <li><a href="?page=2">Particuliers</a></li>
          <li><a href="?page=3">Professionnels</a></li>
          <li><a href="?page=4" title="Demandez un devis !">Devis</a></li>
      </ul></li>
Par :

Code : Tout sélectionner

<ul id="menuhautlist">
<li onmouseover="javascript:montre();"><a href="?page=1" title="Retour à l'accueil" id="current">Accueil</a></li>
   <li><a href="#">Boutiques</a></li>
       <div id="mh2">
       <li><ul id="mh2">
        <li><a href="?page=2">Particuliers</a></li>
          <li><a href="?page=3">Professionnels</a></li>
          <li><a href="?page=4" title="Demandez un devis !">Devis</a></li>
      </ul></li></div>
Et le résultat n'est pas superbe ! (http://www.e-central.fr/test3_index.php)

1) Où est l'erreur ?
2) Que doit-je ajouter pour que ce sous-menu s'affiche au milieu et non à gauche (sous Firefox et Opera)? Si je vire le float: s'est encore pire !
3) Quelle code HTML doit-je ajouter pour que le sous-menu ne s'affiche que si on clique sur le menu désiré ?

Merci d'avance.
Dernière modification par lordbdp le 07 nov. 2005, 00:28, modifié 1 fois.
Benoit
Administrateur
Messages : 4894
Inscription : 19 juil. 2003, 10:59

Message par Benoit »

Tu t'es un peu trompé dans l'imbrication de tes balises là :)

Ce que tu veux vraiment c'est une seconde liste (ul) à l'intérieur d'un point de ta première liste (li), donc à la place de (div).

Code : Tout sélectionner

<ul id="menuhautlist">
  <li onmouseover="javascript:montre();"><a href="?page=1" title="Retour à l'accueil" id="current">Accueil</a></li>
  <li><a href="#">Boutiques</a>
    <ul id="mh2">
      <li><a href="?page=2">Particuliers</a></li>
      <li><a href="?page=3">Professionnels</a></li>
      <li><a href="?page=4" title="Demandez un devis !">Devis</a></li>
    </ul>
  </li>
</ul>
Essaie de bien aligner tes balises d'ouverture et de fermeture, tu verras tout de suite où ça cloche.
♫ Li tens s'en veit, je n'ai riens fais ;
Li tens revient, je ne fais riens. ♪
lordbdp
Gecko
Messages : 87
Inscription : 22 sept. 2005, 19:51

Message par lordbdp »

désormais, j'ai :

Code : Tout sélectionner

            <ul id="menuhautlist">
<li onmouseover="javascript:montre();"><a href="?page=1" title="Retour à l'accueil" id="current">Accueil</a></li>
   <li><a href="#">Boutiques</a>
       <ul id="mh2">
         <li><a href="?page=2">Particuliers</a></li>
          <li><a href="?page=3">Professionnels</a></li>
          <li><a href="?page=4" title="Demandez un devis !">Devis</a></li>
      </ul></li>
   <li><a href="?page=5" title="Pour trouver un sp&eacute;cialiste près de chez vous">Sp&eacute;cialistes</a></li>
   </ul>
Et le résultat est pire ! Help me !
calimo
Animal mythique
Messages : 14118
Inscription : 26 déc. 2003, 11:51

Message par calimo »

Là c'est surement un problème avec les styles CSS que tu appliques. Tu peux nous les donner ?
lordbdp
Gecko
Messages : 87
Inscription : 22 sept. 2005, 19:51

Message par lordbdp »

CSS mh2 :

Code : Tout sélectionner

#mh2 ul li
{
list-style-type: none;
padding: 0;
margin: 0;
display: block;
text-align: center;
float: left;
background: url("imgs/navBarBg.gif") repeat-x 20px;
font: 10px/20px "Lucida Grande", verdana, sans-serif;
}

#mh2 a
{
color: #000;
text-decoration: none;
display: block;
width: 100px;
border-top: 1px solid #A8B090;
border-bottom: 1px solid #A8B090;
border-left: 1px solid #A8B090;
border-right: 1px solid #A8B090;
}

#mh2 li#active { background: url("imgs/navBarBgHover.gif") repeat-x 20px; }
#mh2 a:hover { background: url("imgs/navBarBgHover.gif") repeat-x 20px; }
calimo
Animal mythique
Messages : 14118
Inscription : 26 déc. 2003, 11:51

Message par calimo »

J'en conclus que #mh2 n'est pas positionné ? Dans ce cas sa position n'a rien d'étonnante…
Invité

Message par Invité »

C'est quoi alors le

Code : Tout sélectionner

<ul id="mh2">
dans mon HTML ? :shock:
calimo
Animal mythique
Messages : 14118
Inscription : 26 déc. 2003, 11:51

Message par calimo »

Mais tu ne lui appliques aucune propriété ! (Enfin, à ce que j'ai vu).
lordbdp
Gecko
Messages : 87
Inscription : 22 sept. 2005, 19:51

Message par lordbdp »

Il me faudrait quoi pour que ce soit correcte ?
calimo
Animal mythique
Messages : 14118
Inscription : 26 déc. 2003, 11:51

Message par calimo »

Ben là ce bloc tu le laisse se positionner où il veux/peut (il est simplement dans le flux).

Donc à toi de trouver où tu veux le mettre (chose que je ne peux pas savoir à ta place) et ensuite de trouver quel positionnement est le plus adéquat. Là pour l'instant il n'y a rien :wink:
lordbdp
Gecko
Messages : 87
Inscription : 22 sept. 2005, 19:51

Message par lordbdp »

Ben la réponse à ta question est dans le 1er post... :wink:
2) Que doit-je ajouter pour que ce sous-menu s'affiche au milieu et non à gauche (sous Firefox et Opera)? Si je vire le float: s'est encore pire !
3) Quelle code HTML doit-je ajouter pour que le sous-menu ne s'affiche que si on clique sur le menu désiré ?
calimo
Animal mythique
Messages : 14118
Inscription : 26 déc. 2003, 11:51

Message par calimo »

lordbdp a écrit :2) Que doit-je ajouter pour que ce sous-menu s'affiche au milieu et non à gauche (sous Firefox et Opera)? Si je vire le float: s'est encore pire !
La même chose que sur les autres pages… non ? Je ne saisi pas trop ce qui ne va pas :roll:
lordbdp a écrit :3) Quelle code HTML doit-je ajouter pour que le sous-menu ne s'affiche que si on clique sur le menu désiré ?
C'est l'évènement onclick. Et puis il faut lui mettre un équivalent clavier comme onkeydown

Ou alors tu peux utiliser la combinaison d'évènements onfocus/onblur :wink: (clavier et souris d'un coup).
lordbdp
Gecko
Messages : 87
Inscription : 22 sept. 2005, 19:51

Message par lordbdp »

Bon j'en suis à :

Code : Tout sélectionner

            <ul id="menuhautlist">
<li onmouseover="javascript:montre();"><a href="?page=1" title="Retour à l'accueil" id="current">Accueil</a></li>
   <li><a href="#">Boutiques</a>
       <ul id="mh2">
         <li><a href="?page=2">Particuliers</a></li>
          <li><a href="?page=3">Professionnels</a></li>
          <li><a href="?page=4" title="Demandez un devis !">Devis</a></li>
      </ul></li>
   <li><a href="?page=5" title="Pour trouver un sp&eacute;cialiste près de chez vous">Sp&eacute;cialistes</a></li>
   </ul>
1) Quand je passe mh2.css au validateur W3C, il me dit que le document est bon mais pas bon quand-même ! :shock:
Ligne : 7 (Level : 1) Cette propriété ne s'applique qu'aux éléments de type "bloc". : #mh2 ul li
Ligne : 14 (Level : 1) Vous n'avez pas de couleur de fond définie avec votre couleur : #mh2 a
2)
lordbdp a écrit:
3) Quelle code HTML doit-je ajouter pour que le sous-menu ne s'affiche que si on clique sur le menu désiré ?
C'est l'évènement onclick. Et puis il faut lui mettre un équivalent clavier comme onkeydown
Peux-tu me donner un exemple pour onclick, stp ?
Et c'est quoi cette commande onkeydown ? Je la connais pö ! :roll:
calimo
Animal mythique
Messages : 14118
Inscription : 26 déc. 2003, 11:51

Message par calimo »

Ben au lieu de onmouseover="javascript:montre();" tu mets onclick="javascript:montre();" :wink:

Tous les attributs HTML sont toujours à leur place habituelle : http://www.la-grange.net/w3c/html4.01/i ... butes.html

Dans le cas qui nous intéresse : http://www.la-grange.net/w3c/html4.01/i ... l#h-18.2.3
lordbdp
Gecko
Messages : 87
Inscription : 22 sept. 2005, 19:51

Message par lordbdp »

Ben pas de changement...snif !

Je suis allé sur les 2 liens que tu as donné mais je te raconte pas pour un néophyte comme moi afin de comprendre....
Répondre

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 3 invités