par anonyme 14-Novembre-2019

Quels sont les différents moyens de créer un lien, ou un bouton, de retour vers le haut de la page, en HTML ?

2 Réponses

par pinkmary 14-Novembre-2019

Vous pouvez également utiliser JavaScript et l'élément scrollTop pour déterminer la position de la barre de défilement, et selon celle-ci, faire apparaitre ou non le bouton pour le retour vers le haut de page.

Dans l'exemple ci-dessous, on fait apparaitre un lien vers le haut de page, uniquement lorsque la barre de défilement est à plus de 100 pixels du haut de la page.

Pour faire apparaitre ou disparaitre le lien, on utilise les feuilles de styles CSS et la fonction display avec ses valeurs block et none.

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
</head>
<body>

<style>
html {
scroll-behavior: smooth;
}
#haut {
display: none;
position: fixed;
bottom: 20px;
right: 30px;
z-index: 99;
border: none;
outline: none;
background-color: orange;
color: white;
cursor: pointer;
padding: 15px;
border-radius: 10px;
font-size: 18px;
}
#haut:hover {
background-color: #ddd;
}
</style>

<div style="height:5000px">
<button onclick="retourHaut()" id="haut" title="Retour haut de page">Haut</button>
</div>

<script>
window.onscroll = function() {scrollFunction()};
function scrollFunction() {
if (document.body.scrollTop > 100 || document.documentElement.scrollTop > 100) 
{
document.getElementById("haut").style.display = "block";
} 
else 
{
document.getElementById("haut").style.display = "none";
}
}

function retourHaut() {
document.body.scrollTop = 0;
document.documentElement.scrollTop = 0;
} 
</script>
</body>
</html>
par Yoan 06-Mars-2022

Bonjour,
Je sais que le post date un peu mais le contenu m'intéresse.

pinkmary, je viens d'essayer votre script, il marche impeccable, et pourtant je suis un novice.

A tout hasard, afin de le rendre plus agréable, sauriez-vous quoi modifier/ajouter pour que lorsque je clique sur le bouton, ça remonte en haut de page de manière fluide (smooth) et non d'un seul coup bien franc, pas très agréable à l'utilisation.

Si vous voyez ce message, et que vous y répondez, alors merci :)

par pinkmary 06-Mars-2022

Bonjour Yoan, vous ajoutez le code ci-après juste après la balise <style> :

html {
scroll-behavior: smooth;
}

PS : je l'ai ajouté au script ci-dessus.

par Antoine 14-Novembre-2019

Pour créer simplement un lien qui mène au haut d'une page Web, procédez comme suit :

Dans votre code HTML, immédiatement après la balise d'ouverture <body>, ajoutez le code suivant:

<a id="haut"></a>

Ensuite, placez le code suivant à l'endroit où vous désirez voir apparaitre le lien Haut de page :

<a href="#haut">Retour en haut de la page</a>

Vous venez de créer un lien de retour haut de page juste avec un peu de code HTML.

par Zyz 19-Octobre-2021

Si vous ajoutez la propriété CSS scroll-behavior avec la valeur smooth, le scroll sera progressif.

<style>
html {
  scroll-behavior: smooth;
}
</style>
par A++ 15-Septembre-2022

Oh mais MERCI à tous ! C'est vraiment ce que je cherchais, étant totalement novice... et ça marche !!! Soyez bénis jusqu'à la 13e génération !

Questions liées

Bienvenue sur 1FORMATIK, où vous pouvez poser des questions en lien avec l'informatique et internet, et recevoir des réponses d'Antoine et d'autres internautes.

2.6k questions

3k réponses

...