web:menucss

Sommaire Web

[Mise à jour le 1/4/2024]


1 Organisation du répertoire de travail

  • Créer un répertoire et l'organiser comme ci-dessous.

2. Création de la structure du menu

La structure du menu est créée dans le fichier menu.html à l'aide d'une liste non ordonnée .

  • Compléter le fichier menu.html comme ci-dessous.
*.html
<!DOCTYPE html>
<html>
 
<head>
    <meta charset="utf-8">
    <title>Menu déroulant</title>
    <link rel="stylesheet" type="text/css" href="styles/menu.css" />
    <!--<link href='https://fonts.googleapis.com/css?family=Lato' 
    rel='stylesheet' type='text/css' />-->
</head>
 
<body>
    <nav>
	<ul>
	  <li><a href="#">menu1</a></li>
	  <li><a href="#">menu2</a>
	      <ul>
		<li><a href="#">sous-menu 2.1</a></li>
	      </ul>
	  </li>
	  <li><a href="#">menu3</a>
	       <ul>
	           <li><a href="#">sous-menu 3.1</a></li>
		   <li><a href="#">sous-menu 3.2</a></li>
	       </ul>
	  </li>
	  <li><a href="#">menu4</a></li>
	</ul>
     </nav>
</body>
 
</html>


Remarque : le lien en commentaire montre comment utiliser une police de caractères Google.

3. Mise en forme du menu

CSS

Placer les règles CSS dans la page menu.css.
  • 3.1 Création d'une règle pour le corps de la page
*.css
body {
    font-family: "Lato", sans-serif;
    font-size: 12px;
}
  • 3.2 Suppression du style par défaut des listes

Créer la règle 1 comme ci-dessous :

*.css
/* Règle 1 */
nav ul {
    list-style: none;
}
  • 3.3 Suppression du soulignement des liens

Créer la règle 2 comme ci-dessous :

*.css
/* Règle 2 */
nav ul li a {
    text-decoration: none;
}
  • 3.4 Suppression des marges par défaut

Compléter la règle 1 avec les déclarations ci-dessous :

*.css
/* Règle 1 */
nav ul {
    padding: 0;
    margin: 0;
}
  • 3.5 Les sous-menus sont masqués

Créer la règle 3 comme ci-dessous :

*.css
/* Règle 3 */
nav ul li ul {
    display: none;
}
  • 3.6 Afichage du premier niveau du menu « en ligne »

Créer la règle 4 comme ci-dessous :

*.css
/* Règle 4  */
nav ul li {
    float: left;
}
  • 3.7 Réglage de la hauteur du menu de premier niveau et ajout de la couleur

Compléter la règle 4 avec les déclarations ci-dessous :

*.css
/* Règle 4 */
nav ul li {
    background-color: #64abfb;
    float: left;
    line-height: 35px;
}
  • 3.8 Les éléments du menu de premier niveau sont éloignés

Compléter la règle 2 avec la déclaration de style ci-dessous :

*.css
/* Règle 2 */
nav ul li a {
    padding: 5px;
}
  • 3.9 Apparition des sous-menus au passage de la souris

Créer la règle 5 comme ci-dessous :

*.css
/* Règle 5 */
nav ul li:hover ul {
    display: list-item ;
    position: absolute;
}
Les déclarations display: list-item et position: absolute sur MDN Web Docs.
  • 3.10 Placement des items des sous-menus verticalement

Créer la règle 6 comme ci-dessous :

*.css
/* Règle 6 */
nav ul li:hover ul li {
    float: none;
}
La propriété float sur MDN Web Docs
  • 3.11 Décalage des sous-menus sur la gauche de n pixel

Compléter la règle 5 avec la déclaration de style ci-dessous :

*.css
/* Règle 5 */
nav ul li:hover ul {
    margin-left: -10px;
}
  • 3.12 Changement de la couleur du texte

Compléter la règle 2 avec la déclaration de style ci-dessous :

*.css
nav ul li a {
    color: #FFF;
}
  • 3.13 Le texte est souligné au passage de la souris

Créer la règle 7 comme ci-dessous :

*.css
/* Règle 7 */
li a:hover {
    border-bottom: 3px #FFF solid;
}
  • 3.14 On fait les finitions

Créer la règle 8. Modifier les règles 1, 2 et 5 comme ci-dessous :

*.css
/* Règle 8 */
li {
    padding: 5px;
}
 
/* Règle 1 */
nav ul {
    background-color: #64abfb;  /* A ajouter */
    list-style: none;
    padding: 0;
    margin: 0;
}
 
/* Règle 2 */
nav ul li a {
    text-decoration: none;
    padding: 5px;
    color: #FFF;
    font-size: 15px; /* A ajouter */
}
 
/* Règle 5 */
nav ul li:hover ul {
    z-index: 9999; /* A ajouter */
    display: list-item ;
    position: absolute;
    margin-left: -10px;
}
La propriété z-index sur MDN Web Docs.
  • web/menucss.txt
  • Dernière modification : 2024/04/02 07:23
  • de phil