Nous pourrions être enclins à penser que les polices très décoratives et multicolores appartiennent à l’âge numérique. Pas si. Le type chromatique qui permet d'utiliser des contours, des ombres et des couleurs multiples (entre autres) remonte au milieu du XIXe siècle. Ils étaient composés de deux ensembles correspondants ou plus, imprimés l'un sur l'autre, pour créer l'effet désiré.

Leurs descendants numériques sont conçus pour fonctionner exactement de la même manière. Chaque style d'une famille de polices de calque peut être combiné avec ses styles complémentaires pour former un composite.

Il existe généralement un style régulier (ou de remplissage) qui peut être utilisé indépendamment, puis plusieurs styles supplémentaires, tels que des contours et des décorations, peuvent être ajoutés sur le dessus. Les styles supplémentaires ne sont généralement pas utilisables indépendamment, ils doivent être utilisés avec au moins un autre style pour être lisibles. De nombreuses familles de polices de calque possèdent également un style composite prêt à l'emploi.

Polices de calque dans le navigateur

Dans Photoshop, Illustrator ou tout autre programme graphique utilisant des calques, la superposition des polices est assez simple, mais comment cela fonctionne-t-il dans un navigateur?

Superposition de polices avec des divs

Une approche serait de créer plusieurs

s et les épingler au même point comme ceci:

Utilisation de polices de calque en CSS

Utilisation de polices de calque en CSS

Utilisation de polices de calque en CSS

/ * CSS * / # first, #second, #third {display: block; position: absolute; top: 10px; left: 5px;} h1 {font: 5em 'One'; couleur: rgba (200,0,0, .85);} # deuxième h1 {font-family: 'Two'; couleur: rgba (0,200,0, .85);} # troisième h1 {font-family: 'Three'; couleur: rgba (0,0,200, 0,85);}

Bien que cela fonctionne, cela implique de créer un div pour chaque couche de la police, puis de répéter le même contenu dans chaque div. Le balisage résultant est un gâchis sémantique, ne permettant pas de séparer complètement les informations de contenu et de style.

Superposition de polices avec des pseudo-éléments

Il existe une autre technique relativement simple qui n'interfère pas avec le balisage: en utilisant les pseudo-éléments :: before et :: after , le texte peut être superposé sans encombrer le HTML.

Voici ce que nous allons construire: