CSS - Chargeurs : Guide du débutant pour créer des animations de chargement dynamiques

Bonjour à tous, futurs développeurs web ! Aujourd'hui, nous allons plonger dans le monde fascinant des chargeurs CSS. En tant que votre professeur d'informatique bienveillant du quartier, je suis excité de vous guider dans cette aventure. Ne vous inquiétez pas si vous n'avez jamais écrit une ligne de code auparavant - nous allons commencer par les bases et progresser pas à pas. À la fin de ce tutoriel, vous serez capable de créer des animations de chargement accrocheuses qui rendront vos sites web professionnels et engageants. Alors, c'est parti !

CSS - Loaders

Qu'est-ce que les chargeurs CSS ?

Avant de nous plonger dans le code, comprenons ce qu'est un chargeur CSS et pourquoi ils sont importants. Avez-vous déjà visité un site web et vu un cercle tournant ou un point sautillant pendant que vous attendiez le chargement du contenu ? C'est un chargeur ! Ces animations fournissent un retour visuel aux utilisateurs, leur faire savoir que quelque chose se passe en arrière-plan. C'est comme dire à vos visiteurs : "Attendez un instant, nous préparons les choses pour vous !"

Créer votre premier chargeur

Maintenant, mettons les mains dans le cambouis et créons notre tout premier chargeur. Nous allons commencer par quelque chose de simple et augmenter progressivement la complexité.

Chargeurs CSS - Exemple de base

Voici un chargeur de base qui crée un cercle tournant :

<div class="loader"></div>
.loader {
border: 16px solid #f3f3f3;
border-top: 16px solid #3498db;
border-radius: 50%;
width: 120px;
height: 120px;
animation: spin 2s linear infinite;
}

@keyframes spin {
0% { transform: rotate(0deg); }
100% { transform: rotate(360deg); }
}

Reprenons cela :

  1. Nous créons un élément <div> avec la classe "loader".
  2. Dans notre CSS, nous style cette div pour qu'elle soit ronde en utilisant border-radius: 50%.
  3. Nous lui donnons une bordure grise claire (#f3f3f3) sur tous les côtés, sauf le haut, qui est bleue (#3498db).
  4. La propriété animation met en place notre effet de rotation :
  • spin est le nom de notre animation.
  • 2s signifie que l'animation prend 2 secondes pour se terminer.
  • linear signifie que la vitesse de l'animation est constante.
  • infinite signifie qu'elle se répètera sans fin.
  1. La règle @keyframes définit ce qui se passe pendant l'animation. Nous tournons de 0 à 360 degrés.

Et voilà ! Vous avez créé votre premier chargeur. N'est-ce pas excitant ?

Chargeurs CSS - Avec la propriété border-right

Maintenant, essayons une approche légèrement différente. Nous allons créer un chargeur qui a l'air de "se remplir" dans le sens horaire :

<div class="loader"></div>
.loader {
border: 16px solid #f3f3f3;
border-radius: 50%;
border-top: 16px solid #3498db;
border-right: 16px solid #3498db;
width: 120px;
height: 120px;
animation: spin 2s linear infinite;
}

@keyframes spin {
0% { transform: rotate(0deg); }
100% { transform: rotate(360deg); }
}

La différence clé ici est que nous avons ajouté border-right: 16px solid #3498db;. Cela crée un chargeur qui semble se remplir au fur et à mesure qu'il tourne. C'est comme regarder une aiguille d'une horloge se déplacer, n'est-ce pas ?

Chargeurs CSS - Avec :before et :after

Maintenant, levons le niveau et créons un chargeur plus complexe en utilisant les pseudo-éléments :before et :after. Cela nous donnera un joli effet "double anneau" :

<div class="loader"></div>
.loader {
width: 120px;
height: 120px;
position: relative;
}

.loader:before, .loader:after {
content: "";
position: absolute;
border: 8px solid #f3f3f3;
border-radius: 50%;
animation: spin 2s linear infinite;
}

.loader:before {
top: 0;
left: 0;
right: 0;
bottom: 0;
border-top-color: #3498db;
}

.loader:after {
top: 15px;
left: 15px;
right: 15px;
bottom: 15px;
border-top-color: #e74c3c;
animation-delay: 0.5s;
}

@keyframes spin {
0% { transform: rotate(0deg); }
100% { transform: rotate(360deg); }
}

Ce chargeur crée deux cercles tournants :

  1. Le cercle extérieur (:before) tourne avec une bordure supérieure bleue.
  2. Le cercle intérieur (:after) est légèrement plus petit, a une bordure supérieure rouge et commence à tourner avec un décalage de demi-seconde.

Le résultat est un effet double anneau hypnotique. Pretty cool, non ?

Chargeurs CSS - Avec linear-gradient

Pour notre dernier tour de magie, créons un chargeur en utilisant linear-gradient. Cela nous donnera une transition de couleur en douceur et continue :

<div class="loader"></div>
.loader {
width: 120px;
height: 120px;
border-radius: 50%;
background: linear-gradient(to right, #3498db 50%, #f3f3f3 50%);
animation: spin 1s linear infinite;
}

.loader:before {
content: "";
display: block;
width: 100px;
height: 100px;
border-radius: 50%;
background: #fff;
margin: 10px;
position: relative;
z-index: 1;
}

@keyframes spin {
0% { transform: rotate(0deg); }
100% { transform: rotate(360deg); }
}

Ce chargeur utilise un astuce ingénieuse :

  1. Nous créons un cercle avec une dégradé qui est moitié bleue et moitié grise.
  2. Nous ajoutons un cercle blanc dessus en utilisant le pseudo-élément :before.
  3. Lorsque le cercle extérieur tourne, il crée l'illusion d'une animation de chargement en douceur.

Résumé des méthodes de chargeurs

Voici un tableau de référence des méthodes que nous avons couvertes :

Méthode Description Propriétés clés
Exemple de base Cercle tournant simple border, border-radius, animation
Border-right Effet de remplissage dans le sens horaire border, border-right
:before et :after Effet double anneau :before, :after, animation-delay
Linear-gradient Transition de couleur en douceur linear-gradient, :before

Et voilà ! Vous avez juste appris quatre différentes manières de créer des chargeurs CSS. Souvenez-vous, ceux-ci sont juste des points de départ - n'hésitez pas à expérimenter avec des couleurs, des tailles et des animations pour créer vos propres chargeurs uniques.

Pour conclure, je veux partager une petite histoire. Lorsque j'ai commencé à enseigner le CSS, j'avais un élève qui était frustré par les chargeurs. Il a dit : "Pourquoi se donner la peine ? Les utilisateurs détestent attendre de toute façon !" Mais puis il a créé son premier chargeur personnalisé, et ses yeux ont brillé. Il a réalisé que même un petit délai peut être transformé en une expérience agréable avec la bonne animation. C'est la puissance des chargeurs CSS - ils transforment l'attente en curiosité.

Alors, à vous de jouer et créez ! Expérimentez avec ces techniques, combinez-les et, surtout, amusez-vous. Souvenez-vous, dans le monde du développement web, la créativité est votre meilleur ami. Bon codage, et jusqu'à la prochaine fois, gardez vos chargeurs en rotation !

Credits: Image by storyset