Barre de navigation horizontale CSS
- Page précédente Barre de navigation verticale CSS
- Page suivante Menu déroulant CSS
Barre de navigation horizontale
Il y a deux méthodes pour créer une barre de navigation horizontale : utiliserEn ligneouFlottantÉlément de liste.
Élément en ligne
Une méthode pour construire une barre de navigation horizontale consiste à définir l'élément <li> comme inline, en plus du code "standard" du chapitre précédent :
Exemple
li { display: inline; }
Explication de l'exemple :
display: inline;
- Par défaut, l'élément <li> est un élément en bloc. Ici, nous supprimons les sauts de ligne avant et après chaque élément de liste pour qu'ils puissent s'afficher sur une ligne.
Élément de liste flottant
Une autre méthode pour créer une barre de navigation horizontale consiste à flotter les éléments <li> et à définir la mise en page des liens de navigation :
Exemple
li { float: left; } a { display: block; padding: 8px; background-color: #dddddd; }
Explication de l'exemple :
float: left;
- Utilisez float pour faire glisser les éléments en bloc côte à côtedisplay: block;
- Afficher le lien en élément en bloc permet de rendre tout le domaine du lien cliquable (pas seulement le texte), et nous permet de spécifier le rembourrage (si nécessaire, nous pouvons également spécifier la hauteur, la largeur, la marge, etc.)padding: 8px;
- Rend les éléments en bloc plus esthétiquesbackground-color: #dddddd;
- Ajoutez une couleur de fond grise à chaque élément
Astuce :Pour une couleur de fond pleine largeur, ajoutez background-color à <ul> plutôt qu'à chaque élément <a> :
Exemple
ul { background-color: #dddddd; }
Exemple de barre de navigation horizontale
Créez une barre de navigation horizontale de base avec un fond de couleur sombre et changez la couleur de fond du lien lorsque l'utilisateur place le curseur au-dessus du lien :
Exemple
ul { list-style-type: none; margin: 0; padding: 0; overflow: hidden; background-color: #333; } li { float: left; } li a { display: block; color: white; text-align: center; padding: 14px 16px; text-decoration: none; } /* Changer la couleur du lien en #111 (noir) lorsque le curseur de la souris est dessus */ li a:hover { background-color: #111; }
Lien de navigation actif/actuel
Ajouter la classe "active" au lien actuel afin que l'utilisateur sache sur quelle page il se trouve :
Exemple
.active { background-color: #4CAF50; }
Aligner les liens à droite
Aligner les liens à droite en flottant les éléments de liste vers la droite (float:right;
):
Exemple
<ul> <li><a href="#home">Accueil</a></li> <li><a href="#news">Nouvelles</a></li> <li><a href="#contact">Contact</a></li> <li style="float:right"><a class="active" href="#about">À propos</a></li> </ul>
bordure de séparation
Pour bordure-right
Ajouter l'attribut
Exemple
/* Ajouter une bordure droite grise à tous les éléments de liste, sauf pour le dernier (last-child) */ li { border-right: 1px solid #bbb; } li:last-child { border-right: none; }
Barre de navigation fixe
Maintenir la barre de navigation au sommet ou en bas de la page, même si l'utilisateur fait défiler la page :
Attention :La position fixe peut ne pas fonctionner correctement sur les appareils mobiles.
Barre de navigation horizontale grise
Exemple de barre de navigation horizontale grise avec bordure fine grise
Exemple
ul { border: 1px solid #e7e7e7; background-color: #f3f3f3; } li a { color: #666; }
Barre de navigation collante
Ajouter position: sticky;
pour créer une barre de navigation collante.
Les éléments collants changent entre relatif et fixe en fonction de la position de défilement. Ils sont positionnés relativement jusqu'à ce qu'ils atteignent la position offset donnée dans la fenêtre de visualisation - puis ils sont «collés» à la position appropriée (par exemple, position:fixed).
Exemple
ul { position: -webkit-sticky; /* Safari */ position: sticky; top: 0; }
Attention :Internet Explorer, Edge 15 et les versions antérieures ne prennent pas en charge la position collée. Safari nécessite le préfixe -webkit- (voir l'exemple ci-dessus). Vous devez également spécifier haut
、droite
、bas
ou gauche
Au moins un, pour que la position collée fonctionne.
Plus d'exemples
- Barre de navigation supérieure réactive
- Comment utiliser les requêtes media CSS pour créer une navigation supérieure réactive.
- Barre de navigation latérale réactive
- Comment utiliser les requêtes media CSS pour créer une navigation latérale réactive.
- Barre de navigation déroulante
- Comment ajouter un menu déroulant dans la barre de navigation.
- Page précédente Barre de navigation verticale CSS
- Page suivante Menu déroulant CSS