Comment créer : rétrécir le menu de navigation lors du défilement
- Page précédente Masquer la barre de navigation lors du défilement
- Page suivante Barre de navigation collante
Apprendre à utiliser CSS et JavaScript pour ajuster la taille de la barre de navigation lors du défilement.
Comment réduire la barre de navigation lors du défilement
Première étape - Ajouter HTML :
Créer une barre de navigation :
<div id="navbar"> <a href="#default" id="logo">LogoDeLentreprise</a> <div id="navbar-right"> <a class="active" href="#home">Accueil</a> <a href="#contact">Contact</a> <a href="#about">À propos</a> </div> </div>
Deuxième étape - Ajouter CSS :
Définir le style de la barre de navigation :
/* Créer une barre de navigation collée/fixed */ #navbar { overflow: hidden; background-color: #f1f1f1; padding: 90px 10px; /* Marge interne plus grande, qui diminue lors du défilement (en utilisant JS) */ transition: 0.4s; /* Ajouter un effet de transition lorsque la marge interne diminue */ position: fixed; /* Barre de navigation collée/fixed */ width: 100%; top: 0; /* En haut */ z-index: 99; } /* Définir le style des liens de la barre de navigation */ #navbar a { float: left; color: black; text-align: center; padding: 12px; text-decoration: none; font-size: 18px; line-height: 25px; border-radius: 4px; } /* Définir le style du logo */ #navbar #logo { font-size: 35px; font-weight: bold; transition: 0.4s; } /* Définir le style des liens au survol de la souris */ #navbar a:hover { background-color: #ddd; color: black; } /* Définir le style des liens actifs / actuels */ #navbar a.active { background-color: dodgerblue; color: white; } /* Afficher certains liens à droite */ #navbar-right { float: right; } /* Ajouter la réactivité - Afficher la barre de navigation verticalement plutôt qu'horizontalement sur les écrans de largeur inférieure à 580 pixels */ @media screen and (max-width: 580px) { #navbar { padding: 20px 10px !important; /* Utiliser !important pour s'assurer que JavaScript ne couvrira pas la marge sur les écrans de petite taille */ } #navbar a { float: none; display: block; text-align: left; } #navbar-right { float: none; } }
Étape 3 - Ajouter JavaScript :
// Lorsque l'utilisateur fait défiler de 80 pixels vers le bas du document, ajuster la marge interne de la barre de navigation et la taille de la police du logo window.onscroll = function() {scrollFunction()}; function scrollFunction() { if (document.body.scrollTop > 80 || document.documentElement.scrollTop > 80) { document.getElementById("navbar").style.padding = "30px 10px"; document.getElementById("logo").style.fontSize = "25px"; } else { document.getElementById("navbar").style.padding = "80px 10px"; document.getElementById("logo").style.fontSize = "35px"; } }
- Page précédente Masquer la barre de navigation lors du défilement
- Page suivante Barre de navigation collante