--- title: '@font-face' slug: Web/CSS/@font-face tags: - CSS - Reference - Règle @ translation_of: Web/CSS/@font-face ---
La règle @ @font-face
permet de définir les polices d'écriture à utiliser pour afficher le texte de pages web. Cette police peut être chargée depuis un serveur distant ou depuis l'ordinateur de l'utilisateur. Si la fonction local()
est utilisée, elle indique à l'agent utilisateur de prendre en compte une police présente sur le poste de l'utilisateur.
En permettant aux auteurs de fournir leurs propres polices, il n'est plus nécessaire de dépendre uniquement des polices qui sont installées sur les postes des utilisateurs.
Il est courant d'utiliser les deux formes url()
et local()
afin de pouvoir utiliser une police locale si elle est disponible ou d'en télécharger une autre au cas où.
La règle @font-face
peut être utilisée au niveau global d'une feuille de style et également au sein d'un groupe lié à une règle @ conditionnelle.
@font-face { font-family: "Open Sans"; src: url("/fonts/OpenSans-Regular-webfont.woff2") format("woff2"), url("/fonts/OpenSans-Regular-webfont.woff") format("woff"); }
font-stretch: 50% 200%;
.font-style: oblique 20deg 50deg;
.font-weight: 100 400;
.Indique la ressource qui contient les données pour la police d'écriture. Cela peut être une URL vers un fichier distant ou le nom d'une police de caractères présente sur l'ordinateur de l'utilisateur.
On peut fournir une indication de format au navigateur (afin que celui-ci sélectionne celui qui lui convient le mieux) sous la forme d'une fonction format()
qui contient le type comme argument :
src: url(ideal-sans-serif.woff) format("woff"), url(basic-sans-serif.ttf) format("truetype");
Les types utilisables sont : "woff"
, "woff2"
, "truetype"
, "opentype"
, "embedded-opentype"
et "svg"
.
@font-face
s'applique.@font-face { font-family: "Bitstream Vera Serif Bold"; src: url("/static/styles/libs/font-awesome/fonts/fontawesome-webfont.fdf491ce5ff5.woff"); } body { font-family: "Bitstream Vera Serif Bold", serif; }
<p> Et voici Bitstream Vera Serif Bold.</p>
{{EmbedLiveSample("Police_distante")}}
Ici, l'agent utilisateur tente d'utiliser la police Helvetica Neue Bold ou HelveticaNeue-Bold si elle existe sur l'ordinateur de l'utilisateur. Sinon, il utilise la police distante MgOpenModernaBold.ttf.
@font-face { font-family: MaHelvetica; src: local("Helvetica Neue Bold"), local("HelveticaNeue-Bold"), url(MgOpenModernaBold.ttf); font-weight: bold; }
<p> Et voici Ma Helvetica.</p>
{{EmbedLiveSample("Police_locale")}}
Voici, selon les différents formats de police, les types MIME associés :
font/ttf
font/otf
font/woff
font/woff2
@font-face
ne peut pas être déclaré au sein d'un sélecteur CSS. Ainsi l'exemple suivant ne fonctionnera pas :
.nomClasse { @font-face { font-family: MyHelvetica; src: local("Helvetica Neue Bold"), local("HelveticaNeue-Bold"), url(MgOpenModernaBold.ttf; font-weight: bold; } }
Spécification | État | Commentaires |
---|---|---|
{{SpecName('WOFF2.0', '', 'WOFF2 font format')}} | {{Spec2('WOFF2.0')}} | Spécification du format de police avec un nouvel algorithme de compression. |
{{SpecName('WOFF1.0', '', 'WOFF font format')}} | {{Spec2('WOFF1.0')}} | Spécification du format de police. |
{{SpecName('CSS3 Fonts', '#font-face-rule', '@font-face')}} | {{Spec2('CSS3 Fonts')}} | Définition initiale. |
{{Compat("css.at-rules.font-face")}}
@font-face
par Everythingfonts @font-face
(en anglais, sur hacks.mozilla.org)