Lors du défilement vers le bas, une autre classe est ajoutée au conteneur, "down":
.down {
bottom: -60px;
}
La position négative doit correspondre à la hauteur du pied de page/menu.
Je pense qu'ils font cela en utilisant JavaScript. Vous pouvez vérifier si l'utilisateur est en haut de la page en JavaScript comme ceci :
let userIsAtTheTopOfThePage = window.pageYOffset === 0;
Des cours peuvent être ajoutés à des éléments comme celui-ci :
element.classList.add("my-class");
et supprimez comme ceci :
element.classList.remove("my-class");
EDIT : Désolé, j'ai d'abord mal compris la question, mais ce que vous voulez réaliser peut être réalisé de la même manière. Jetons un coup d'œil à cet exemple de menu :
<nav id="menu">
<ul>
<li>Menu item 1</li>
<li>Menu item 2</li>
<li>Menu item 3</li>
<!-- Add more menu items here -->
</ul>
</nav>
document.addEventListener("DOMContentLoaded", function() {
window.addEventListener("scroll", function() {
var menu = document.getElementById("menu");
var scrollPosition = window.scrollY;
var windowHeight = window.innerHeight;
var documentHeight = document.body.offsetHeight;
var scrollThreshold = documentHeight - windowHeight - 200; // Adjust this value to determine when the menu should become part of the flow
if (scrollPosition > scrollThreshold) {
menu.classList.add("scrolling-menu");
} else {
menu.classList.remove("scrolling-menu");
}
});
});
Je viens de vérifier la console du développeur https://imgur.com/a/YFcfO3N a> Il semble qu'ils utilisent un conteneur de pied de page avec la classe "Footer-wrapper", avec les propriétés CSS suivantes :
Lors du défilement vers le bas, une autre classe est ajoutée au conteneur, "down":
La position négative doit correspondre à la hauteur du pied de page/menu.
Je pense qu'ils font cela en utilisant JavaScript. Vous pouvez vérifier si l'utilisateur est en haut de la page en JavaScript comme ceci :
Des cours peuvent être ajoutés à des éléments comme celui-ci :
et supprimez comme ceci :
EDIT : Désolé, j'ai d'abord mal compris la question, mais ce que vous voulez réaliser peut être réalisé de la même manière. Jetons un coup d'œil à cet exemple de menu :
Utilisez ce CSS
et ce JavaScript
Cela devrait être possible.