Création d’une ligne de temps interactive avec CSS et JavaScript

Principaux enseignements

  • Il est facile de créer une ligne du temps puissante à l’aide de CSS et de JavaScript.
  • Commencez par définir la structure HTML de la ligne de temps et stylisez les éléments de la ligne de temps à l’aide de CSS.
  • Continuez à ajouter des animations à la ligne de temps à l’aide de JavaScript. Vous pouvez utiliser l’API Intersection Observer pour faire apparaître en fondu les éléments de la chronologie lors du défilement.

Les lignes du temps sont des outils visuels puissants qui aident les utilisateurs à naviguer et à comprendre les événements chronologiques. Découvrez comment créer une ligne de temps interactive en utilisant le duo dynamique CSS et JavaScript.

Construire la structure de la ligne de temps

Vous pouvez consulter le code complet de ce projet à partir de son site web. dépôt GitHub.

Pour commencer, décrivez la structure HTML dans index.html. Créez des événements et des dates en tant que composants distincts, jetant ainsi les bases de la chronologie interactive.

Pour l’instant, votre composant ressemble à ceci :

Choisissez une disposition pour votre ligne du temps : Verticale ou horizontale

Lors de la conception d’une ligne de temps interactive, vous pouvez choisir un style vertical ou horizontal. Les lignes du temps verticales sont faciles à utiliser, en particulier sur les téléphones, car c’est le sens de défilement habituel des sites web. Si votre chronologie contient beaucoup de contenu, cette disposition sera probablement la plus pratique.

Voir aussi :  5 alternatives à GitHub Copilot que vous pouvez essayer dès aujourd'hui

Les lignes de temps horizontales, en revanche, sont attrayantes sur les écrans larges et conviennent parfaitement aux sites créatifs comportant moins de détails, ce qui permet de minimiser le défilement d’un côté à l’autre. Chaque style a ses avantages et convient à différents types de sites web et d’expériences utilisateur.

Styliser la ligne du temps avec CSS

Il existe trois types d’éléments visuels que vous allez styliser pour la ligne du temps : les lignes, les nœuds et les marqueurs de date.

  • Les lignes: Une ligne verticale centrale, créée à l’aide du pseudo-élément Timeline__content::after, sert de colonne vertébrale à la ligne de temps. Elle est stylisée avec une largeur et une couleur spécifiques, et positionnée de manière absolue pour s’aligner sur le centre des éléments de la ligne de temps.
  • Les nœuds: Les cercles, stylisés à l’aide de la classe circle, font office de nœuds sur la ligne de temps. Ils sont absolument positionnés au centre de chaque élément de la ligne de temps et sont visuellement distincts avec une couleur d’arrière-plan, formant les points clés le long de la ligne de temps.
  • Marqueurs de date: Les dates, stylisées à l’aide de la classe Timeline__date, s’affichent de part et d’autre de la ligne de temps. Leur positionnement alterne entre la gauche et la droite pour chaque élément de la ligne de temps, créant ainsi un aspect décalé et équilibré le long de la ligne de temps.
Voir aussi :  Un guide complet sur les pipes dans Angular

Consultez l’ensemble des styles de la classe GitHub dans style.css

Après avoir été stylisé, votre composant devrait ressembler à ceci :

Animer avec JavaScript

Pour animer ce composant, utilisez l’API Intersection Observer pour animer les éléments de la ligne de temps lors du défilement. Ajoutez le code suivant à script.js.

1. Configuration initiale

Tout d’abord, sélectionnez tous les éléments ayant la classe Timeline__item.

2. Style initial des éléments de la ligne de temps

Réglez l’opacité initiale de chaque élément sur 0 (invisible) et appliquez une transition CSS pour un fondu en douceur.

Vous pourriez définir ces styles dans la feuille de style, mais cela serait dangereux. Si le JavaScript ne s’exécute pas, cette approche rendrait votre ligne de temps invisible ! Isoler ce comportement dans le fichier JavaScript est un bon exemple d’amélioration progressive.

3. Rappel de l’observateur d’intersection

Définissez une fonction fadeInOnScroll pour faire passer l’opacité des éléments à 1 (visible) lorsqu’ils croisent la fenêtre de visualisation.

4. Options de l’observateur d’intersection

Définissez les options de l’observateur, avec un seuil de 0,1 indiquant que l’animation se déclenche lorsque 10 % d’un élément est visible.

5. Création et utilisation de l’observateur d’intersection

Terminez en créant un IntersectionObserver avec ces options et en l’appliquant à chaque élément de la ligne de temps.

Voir aussi :  Comment obtenir des données sur le cours des actions en utilisant Python.

Le résultat final devrait ressembler à ceci :

Meilleures pratiques pour les composants de la ligne de temps

Voici quelques pratiques à respecter :

  • Optimisez votre chronologie pour différentes tailles d’écran. Apprenez les techniques de conception réactive pour garantir une expérience utilisateur transparente sur tous les appareils.
  • Utilisez des pratiques de codage efficaces pour garantir des animations fluides.
  • Utilisez du HTML sémantique, des rapports de contraste appropriés et des étiquettes ARIA pour une meilleure accessibilité.

Donner vie à votre chronologie : Un voyage dans la conception Web

Construire une ligne du temps interactive ne consiste pas seulement à présenter des informations, mais aussi à créer une expérience attrayante et informative. En combinant la structure HTML, le style CSS et les animations JavaScript, vous pouvez créer une chronologie qui captive votre public tout en fournissant un contenu précieux.

Améliorez votre QI technologique grâce à nos lettres d’information gratuites

En vous abonnant, vous acceptez notre politique de confidentialité et pouvez recevoir des communications occasionnelles ; vous pouvez vous désabonner à tout moment.

Cliquez pour évaluer cet article !
[Total: Moyenne : ]

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *