Table des matières

Un menu simple en HTML

Le besoin

On a 3 ou 4 pages et on voudrait pouvoir naviguer entre elles. Je propose ci-dessous une façon simple de réaliser un menu. Ce menu devra être copier dans toutes les pages. Il est fixe.

Une situation pour fixer les idées

On dira que l'on dispose de 4 pages :

Le menu a mettre dans toutes les pages

On le met où on veut, par exemple juste après <body> :

<div class='menu'>
    <ul>
        <li><a href='index.html'>Accueil</a></li>
        <li><a href='biographie.html'>Biographie</a></li>
        <li><a href='filmographie.html'>Filmographie</a></li>
    </ul>
</div>

Le style

Pour l'instant le menu est laid. C'est une liste à puces avec des liens.

Comme ce n'est pas évident, je vous propose un bout de style tout fait :

div.menu {
  background-color:#EEEEEE;
  padding:10px;
  width:200px;
  float:left;
  margin:10px;
}

div.menu ul {
  list-style:none;
}

div.menu ul li {
  border: 1pt solid #FF0000;
}

div.menu ul li a {
  display:block;
  background-color:#FFAAAA;
  padding:5px;
  text-decoration:none;
}

div.menu ul li a:hover {
  background-color:#FFCCCC;
}

Vous trouverez cela en action sur ce jsFiddle. Vous pouvez ainsi tenter des expériences.

Quelques explications sur le css :

Cas absolute

Il est possible de positionner le menu à une place de façon qu'il ne bougera pas, même si on descend dans la page. On appelle cela un positionnement absolu, en pixels par rapport aux bords de la fenêtre. Vous trouverez un exemple ici.

La partie importante est :

position:absolute;
top: 5px;
left:5px;

top donne la distance par rapport au haut de la fenêtre et left est la distance par rapport au bord gauche.