Comment faire - Navigation supérieure réactive
Apprenez à créer un menu de navigation supérieur réactif avec CSS et JavaScript.
Barre de navigation réactive
Redimensionnez la fenêtre du navigateur pour voir comment fonctionne le menu de navigation réactif :
Créer un topnav réactif
Étape 1) Ajoutez du HTML :
Exemple
<!-- Load an icon library to show a hamburger menu (bars) on small screens -->
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
<div class="topnav"
id="myTopnav">
<a href="#home" class="active">Home</a>
<a href="#news">News</a>
<a href="#contact">Contact</a>
<a href="#about">About</a>
<a href="#;"
class="icon" onclick="myFunction()">
<i
class="fa fa-bars"></i>
</a>
</div>
Le lien avec class="icon" est utilisé pour ouvrir et fermer le topnav sur les petits écrans.
Étape 2) Ajoutez CSS :
Exemple
/*
Add a black background color to the top navigation */
.topnav {
background-color: #333;
overflow: hidden;
}
/*
Style the links inside the navigation bar */
.topnav a {
float: left;
display: block;
color: #f2f2f2;
text-align: center;
padding: 14px 16px;
text-decoration: none;
font-size: 17px;
}
/* Change the color of links on hover */
.topnav a:hover {
background-color: #ddd;
color: black;
}
/* Add an active class to highlight the current page
*/
.topnav a.active {
background-color: #04AA6D;
color: white;
}
/* Hide the link that should open and close the topnav on small screens */
.topnav .icon {
display: none;
}
Ajoutez des requêtes multimédia :
Exemple
/* When the screen is less than 600 pixels wide, hide all links, except
for the first one ("Home"). Show the link that
contains should open and close the topnav (.icon) */
@media screen and (max-width: 600px) {
.topnav
a:not(:first-child)
{display: none;}
.topnav a.icon {
float:
right;
display: block;
}
}
/* The "responsive" class is added to the topnav with JavaScript when the
user clicks on the icon. This class makes the topnav look good on small
screens (display the links vertically instead of horizontally) */
@media screen and (max-width: 600px) {
.topnav.responsive {position: relative;}
.topnav.responsive a.icon {
position: absolute;
right: 0;
top: 0;
}
.topnav.responsive a {
float: none;
display: block;
text-align: left;
}
}
Étape 3) Ajoutez JavaScript :
Exemple
/* Toggle between adding and removing the "responsive" class to topnav when
the user clicks on the icon */
function myFunction() {
var x = document.getElementById("myTopnav");
if (x.className
=== "topnav") {
x.className += "
responsive";
} else {
x.className = "topnav";
}
}
Conseil : accédez à notre didacticiel CSS Navbar pour en savoir plus sur les barres de navigation.
Avez-vous déjà entendu parler des Espaces W3Schools ? Ici, vous pouvez créer votre site Web à partir de zéro ou utiliser un modèle et l'héberger gratuitement.
Commencez gratuitement ❯* Pas de carte de crédit nécessaire