Fabriquer un menu en CSS

Structure HTML de base

Nous allons commencer par créer dans une page « menu.html » une liste non ordonnée (<ul>) avec des éléments de liste (<li>), qui contiendront des liens (<a href="#">). # étant l’adresse de la page


<!DOCTYPE html>
<html lang="fr">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Titre au choix ici </title>
    <link rel="stylesheet" href="styles.css">
</head>
<body>

    <nav>
        <ul class="menu">
            <li><a href="#">Accueil</a></li>
            <li><a href="#">les collections</a></li>
            <li><a href="#">le musée</a></li>
            <li><a href="#">Contact</a></li>
        </ul>
    </nav>

</body>
</html>

La balise <nav> est utilisée pour définir une zone de navigation. c’est une balise DIV (web semantique)
La liste <ul> contient plusieurs <li>, chacun ayant un lien <a>.

Maintenant, passons à la mise en forme avec CSS.

Dans un fichier styles-menu-cmopc.css, ajoutez ceci :

nav {
    background-color: #333; /* Fond sombre */
    padding: 10px 0; /* Espace autour du menu */
}

.menu {
    list-style: none; /* Suppression des puces */
    display: flex; /* Alignement horizontal */
    justify-content: center; /* Centrage des éléments */
}

.menu li {
    margin: 0 15px; /* Espacement entre les éléments */
}

.menu a {
    text-decoration: none; /* Suppression du soulignement */
    color: white; /* Texte blanc */
    font-size: 18px;
    padding: 10px 15px;
    border-radius: 5px; /* Bords arrondis */
    transition: background 0.3s ease; /* Effet fluide */
}

/* Effet au survol */
.menu a:hover {
    background-color: #f04e30; /* Changement de couleur */
    color: white;
}