@font-face

Par défaut, le choix de polices natives compatibles sur tous les appareils est relativement limité. Heureusement, il est possible d'importer des polices externes afin de contourner cette limitation via @font-face.

La règle @font-face permet d'importer une police sur une page en spécifiant où la police est située et sous quel nom y faire référence.

@font-face { src: url("/polices/bebas.woff2") format("woff2"); font-family: "Bebas"; } Placer ses règles @font-face en début de fichier CSS permet de s’assurer que la police soit importée avant qu’un style y fasse référence. src

La propriété src dans cet exemple indique au navigateur que la police se nomme bebas.woff2 et se trouve dans un dossier intitulé polices.

Si votre nom contient des espaces, il faudra obligatoirement utiliser des guillemets autour de celui-ci. Les guillemets entourent le nom de la police pour assurer une interprétation correcte par le navigateur. format

format est un complément à src. Il permet au navigateur de connaître le format de la police et de savoir s'il est en mesure de le supporter.

Voici une liste des extensions de polices les plus fréquentes et leur format associés:

FICHIER FORMAT
bebas.woff2 format('woff2')
bebas.woff format('woff')
bebas.ttf format('truetype')
bebas.otf format('opentype')
bebas.eot format('eot')
bebas.svg format('svg')
OUTIL Online Font Converter Convertir une fonte dans un format spécifique.
font-family

La propriété font-family, à l'intérieur d'une règle @font-face, permet de spécifier le nom attribué à la police importée. Ce nom sera ensuite utilisé afin de faire référence à la police.

Il est conseillé d'utiliser le nom de la police afin d'éviter toute confusion, comme dans l'exemple précédent, la police est simplement nommée "Bebas" comme son fichier (bebas.woff2). Néanmoins, ce nom pourrait théoriquement être n'importe quoi.

Par exemple "Super police":

@font-face { src: url("/polices/bebas.woff2") format("woff2"); font-family: "Super Police"; } Utilisation

Une fois importée, la police peut être utilisée sur différents éléments.

Par exemple:

@font-face { src: url("/polices/bebas.woff2") format("woff2"); font-family: "Bebas"; } ... .title { font-family: "Bebas"; }

Dans cet exemple, les éléments avec la classe .title utilisent la police Bebas.

Substitution

Puisque les navigateurs ne supportent pas tous les mêmes formats de police, il est courant que plusieurs sources soient fournies. Dans ce cas, le navigateur utilisera le premier format de police compatible rencontré.

Par exemple:

@font-face { font-family: "Ma police"; src: url("/polices/bebas.woff2") format("woff2"), url("/polices/bebas.otf") format("opentype"); } Variations

Si une police contient plusieurs fichiers, chacun de ces fichiers correspond à une variation de la police. Par exemple, normal, italique, gras (bold), etc. Dans ce cas, il est nécessaire de définir une règle @font-face pour chacun des fichiers.

Pour chacune de ces règles, la propriété font-family doit être la même puisqu'il s'agit de la même police. Cependant, une propriété supplémentaire, telle que: font-style ou font-weight doit être ajoutée afin d'indiquer la variation en question. Si aucune propriété supplémentaire n'est spécifiée, le navigateur conclura qu'il s'agit du style par défaut (normal), de la police.

Par exemple:

@font-face { src: url("/polices/bebas-400.woff2") format("woff2"); font-family: "Bebas"; } @font-face { src: url("/polices/bebas-700.woff2") format("woff2"); font-family: "Bebas"; font-weight: bold; /* 👈 Variation spécifiée */ } Une police importée via @font-face devrait être fonctionnelle même si elle n’est pas installée sur votre ordinateur. Le but premier est de rendre la police disponible aux utilisateurs visitant la page même s’ils n’ont pas la police d’installer sur leur ordinateur. @font-face @font-face
OUTIL DaFont Collection de polices web.
EXERCICE @font-face - La guerre, la guerre Pour cet exercice, vous devrez recréer en CSS une mise en page inspirée d’une murale thématique La guerre des tuques réalisée par l’artiste Marc Sirus.