Le défi de l'alignement des icônes avec le texte dans les listes est qu'une fois que le texte dépasse une ligne, l'icône centrée visuellement peut paraître décalée. L'approche initiale consistant à utiliser align-items: start dans Flexbox déplace l'icône au sommet du conteneur, ce qui n'est pas idéal en raison de l'espace de ligne par défaut.
Pour résoudre ce problème lorsque l'icône est un élément HTML, il est recommandé d'ajuster la position verticale de l'icône. L'utilisation d'une valeur fixe avec transform: translateY() s'avère instable lorsque la taille de la police, la taille de l'icône ou la largeur du conteneur changent. La solution la plus robuste consiste à utiliser l'unité lh (line-height) pour calculer un décalage dynamique, assurant ainsi un alignement constant quelle que soit la taille du texte ou de l'icône.
Lorsque l'icône est ajoutée via un pseudo-élément comme image de fond, le même principe de calcul d'un décalage relatif s'applique pour garantir un alignement cohérent avec la première ligne de texte, même lorsque le texte se prolonge sur plusieurs lignes.
Web Component Pseudo-Classes and Pseudo-Elements are Easier Than You Think | CSS-Tricks - CSS-Tricks
Tout est dans le titre
Un ensemble de techniques utilisant des propriétés CSS récentes (clip-path, gradient, mix-blend, etc.), et permettant de ne pas utiliser de pseudo éléments - ce qui résout pas mal de pb (z-index, éléments peu flexibles, etc.)
Tout est dans le titre
Tout est dans le titre
Tout est dans le titre
Tout est dans le titre
Un pas-à-pas intéressant sur la mise en forme d'une page de connexion - avec utilisation de variables CSS, de pseudo éléments, etc.
Tout est dans le titre (via https://blog.stephaniewalter.fr/semaine-pixels-15-avril-2016/ )
Très bien expliqué
Tout est dans le titre
Tout est dans le titre