Comment créer : défilement en douceur
- Page précédente Dessin en défilement
- Page suivante Défilement d'arrière-plan dégradé
Comment apprendre à utiliser CSS pour créer des effets de défilement en douceur.
Défilement en douceur
Section 1
Cliquez ici pour défilement en douceur jusqu'au deuxième partie en bas.Cliquez sur le lien pour voir l'effet de défilement en douceur.
Remarque :Retirer l'attribut scroll-behavior pour annuler le défilement en douceur.
Défilement en douceur
Ajoutez pour l'élément scroll-behavior: smooth
Il est possible d'activer un défilement en douceur pour toute la page :
Remarque :Vous pouvez également l'ajouter à un élément spécifique ou à un conteneur de défilement.
Exemple
html { scroll-behavior: smooth; }
Support du navigateur
Les numéros dans le tableau indiquent la première version de navigateur qui prend en charge complètement l'attribut de comportement de défilement.
Chrome | Edge | Firefox | Safari | Opera |
---|---|---|---|---|
Chrome | Edge | Firefox | Safari | Opera |
61.0 | 79.0 | 36.0 | 14.0 | 48.0 |
Solution cross-browser
Pour les navigateurs qui ne supportent pas scroll-behavior
Les navigateurs avec l'attribut jQueryPour créer une solution applicable à tous les navigateurs :
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <script> $("document").ready(function(){ // Ajouter un défilement en douceur pour tous les liens $("a").on('click', function(event) { // Assurez-vous que this.hash a une valeur avant de surcharger le comportement par défaut if (this.hash !== "") { // Empêcher le comportement par défaut du clic sur l'ancrage event.preventDefault(); // Stocker la valeur de l'hash var hash = this.hash; // Utilisez la méthode animate() de jQuery pour ajouter un défilement de page en douceur // Numéro optionnel (800) spécifiant le nombre de millisecondes nécessaires pour faire défiler vers la zone spécifiée $('html, body').animate({ scrollTop: $(hash).offset().top }, 800, function(){ // Après avoir effectué le défilement, ajoutez le hashtag (#) à l'URL (comportement par défaut en cliquant) window.location.hash = hash; }); } // Fin du if }); }); </script>
Pages associées
Manuel de référence :Propriété CSS scroll-behavior
- Page précédente Dessin en défilement
- Page suivante Défilement d'arrière-plan dégradé