Créer un en-tête de navigation persistant à l'aide de waypoints jQuery

Dans ce didacticiel, nous allons créer une barre de navigation qui reste avec vous lorsque vous faites défiler l'écran. Nous allons également ajouter un gimmick dans le mix pour le peaufiner..


introduction

«Tout le monde aime les rubans», explique Chris Coyier lorsqu’il discute des vertus du :avant et :après pseudo-éléments. J'ai vu ces rubans stylisés à bords triangulaires apparaître partout sur Internet (un exemple frappant étant la page Introducing Timeline de Facebook) et, bien qu'ils aient un certain attrait, je dois admettre que l'effet spatial qu'ils créent ne fait pas tout. t regarde bien à moi.

Cependant, les rubans sont appréciés pour une raison: ils brisent le paradigme de la conception à plat, auquel nous sommes traditionnellement liés, et ils constituent l’un des rares éléments visuels à le faire de manière discrète. Mais, comme le dit le vieil adage, il devrait exister plus d'un moyen de traiter un chat - donc, dans ce tutoriel, je proposerai un style visuel alternatif pour de tels éléments, que je trouve beaucoup plus naturel et esthétique. plaisant. J'espère que vous l'aimez et que vous en faites bon usage!

Ce que nous ferons

Dans ce tutoriel, nous allons utiliser l'un des nouveaux éléments de HTML5, le nav tag, en tant que conteneur pour une liste horizontale de liens. Je vais expliquer brièvement comment le rendre joli en utilisant un peu de CSS.

Plus important encore, vous vous familiariserez avec les bases du plug-in Waypoints de jQuery, qui fourniront des fonctionnalités avancées: lorsque l'utilisateur fait défiler l'écran vers le bas, la barre de navigation reste en haut de la fenêtre d'affichage, ainsi que des modifications pour indiquer la section en cours. . En guise de touche supplémentaire, nous utiliserons un autre plug-in, ScrollTo, afin de permettre un défilement régulier et un positionnement pratique lorsque l'utilisateur clique sur les liens de navigation..


Étape 1: la boîte

Je suis sûr que vous connaissez déjà les différents nouveaux éléments introduits avec HTML5. Dans cet exemple, nous allons utiliser deux d'entre eux: