Vous avez probablement souvent entendu parler des before after, ces pseudo-éléments CSS. Nous allons à travers ce tutoriel voir comment ces éléments fonctionnent, ainsi que quelques exemples d’utilisation pratiques et designs.

Prérequis :

Pour ce tutoriel, vous aurez besoin de maîtriser les fondamentaux du CSS : Les propriétés de base ainsi que les pseudo-éléments.

Si ce n’est pas le cas vous pouvez faire appel à un développeur CSS en déposant une annonce gratuitement sur Codeur.com !

 

Déposez gratuitement votre projet sur Codeur.com, recevez une quinzaine de devis et sélectionnez le développeur web idéal.

Trouver un développeur web

Qu’est-ce que les pseudo-éléments CSS « :before » et « :after » ?

Ces deux pseudo-éléments viennent rajouter un contenu virtuel sur une balise HTML. Comme leur nom l’indique, un élément virtuel avant et un élément virtuel après.

.selector:before {}
.seletor:after {}

La particularité de ces deux pseudo-éléments, c’est qui le requiert une propriété « content ». Cette propriété vient rajouter du contenu textuel dans l’élément ciblé. Sans cela, :before and :after ne s’afficheront pas. Bien entendu, si on ne veut pas afficher de contenu ou de texte quelconque dont notre before de notre after, on peut indiquer un content vide, comme ceci :

.selector:before, .selector:after {
  content: "";
}

Concrètement, dans quel(s) cas peut-on les pseudo-éléments :before et :after ?

  • Dans un fil d’Ariane, indiquer la séparation entre les différents éléments ;
  • Pour personnaliser une liste à puce ;
  • Pour ajouter des éléments visuels, comme par exemple un souligné un peu spécifique, une bordure animé, etc.

Voyons quelques-uns de ces exemples.

Trouvez le meilleur développeur web sur Codeur.com

Vos premiers devis en 15 minutes

Gratuit et sans obligation

Déjà plus de 75 000 clients

Trouver un freelance

 

Exemple d’application : fil d’Ariane

Le fil d’Ariane, ou « breadcrumb », et une ligne, généralement en haut du site, qui permet de se situer dans la navigation, de la page d’accueil jusqu’à la page actuelle.

Ici, réaliser un fil d’Ariane où chaque élément commence par un point de type « bullet » (•), et tous sauf le dernier son suivi dans slash (/).

Afin de respecter les balises sémantique, votre fille de Marianne sera donc une liste à puce ul avec un li et un lien par élément.

Exemple :

<ul class="breadcrumb">
  <li><a href="#">Accueil</a></li>
  <li><a href="#">Produits</a></li>
  <li><a href="#">Nom du produit</a></li>
</ul>
.breadcrumb {
  margin: 0;
  padding: 0;
}
.breadcrumb li {
  list-style: none;
  display: inline-block;
}

Il me reste plus qu’à ajouter les pseudo-éléments :before and :after.

.breadcrumb li a:before {
  content: "•";
  display: inline-block;
  margin-right: 2px;
}
.breadcrumb li:not(:last-child):after {
  content: "/";
  display: inline-block;
  margin-left: 5px;
}

En cliquant ici, vous pouvez accéder au code complet.

 

Exemple d’application : souligné design

Dans cet exemple, nous allons ajouter un souligné à un titre. Mais, au lieu de souligner entièrement le texte avec un trait noir d’un pixel, nous allons le souligner partiellement avec un trait plus large et dégradé.

Voici déjà le HTML de basse :

<h1>Titre de la page</h1>

Pour l’effet de soulignement, vous l’aurez compris, nous allons utiliser un pseudo-élément :after. Afin qu’il soit centré sous le texte, nous allons également jouer avec le positionnement relatif et absolut. Pour le reste, c’est du CSS classique.

-h1 {
  position: relative;
  text-align: center;
}
h1:after {
  content: "";
  display: block;
  position: absolute;
  bottom: -3px;
  left: 50%;
  transform: translateX(-50%);
  width: 120px;
  height: 3px;
  background: linear-gradient(to right, #346abf 0%, #7096d2 100%);
}

Voici le résultat.

 

Exemple d’application : bordure animé

Pour ce dernier exemple, nous allons créer une bordure animée.

Voici le résultat final.

Nous allons décortiquer le code :

Tout d’abord, les problèmes de calculs de pixel, nous allons passer de tous les éléments en box-sizing: border-box;.

Ensuite, nous allons créer notre encart .frame qui aura le droit à sa bordure animée.

Enfin, c’est ton jour sur les positionnements, les transitions, avec quelques pixels, que nous allons avant notre animation.

 

Notre astuce pour utiliser les pseudo-éléments :after et :before en CSS

Maintenant que vous savez comment fonctionnent les pseudo-éléments CSS :after et :before, et que vous avez vu quelques exemples d’application, il ne vous reste plus qu’à utiliser votre imagination et ajouter de nouveaux designs à votre site internet.

Si vous n’avez du mal à utiliser les pseudo-éléments, qu’une notion vue dans ce tutoriel est abstraite, ou que la mise en pratique vous donne du fil à retordre, alors n’hésitez pas à demander de l’aide à un professionnel. Sur Codeur.com vous trouverez de nombreux développeurs CSS disponibles pour réaliser votre projet alors n’attendez plus et déposez une annonce gratuitement.