Cet article est une contribution de partenariat sur le terrain. Merci de soutenir nos sponsors.
soixante-sept pour cent des sites Web utilisent désormais des polices Web personnalisées. Cette adoption généralisée, cependant, présente des défis de performance et d'expérience utilisateur. Cet article explore les pièges communs dans la mise en œuvre des polices Web et propose des solutions, y compris des solutions de contournement établies et des normes à l'épreuve des futurs.
Points clés:
- Les polices Web personnalisées, utilisées sur 67% des sites Web, peuvent avoir un impact négatif sur les performances et l'expérience utilisateur en raison de leur taille et de leur temps de chargement, provoquant potentiellement un éclair de texte invisible (FOIT).
- L'optimisation des polices personnalisées consiste à minimiser les polices de caractères, à utiliser des formats compatibles avec le navigateur (prioriser WOFF2), en chargeant uniquement les styles nécessaires et en limitant les jeux de caractères.
- pour lutter contre le POIT, envisagez d'utiliser des polices système, en utilisant le chargeur de polices Web pour un chargement asynchrone ou en tirant parti de l'API de chargement de police CSS pour le contrôle granulaire.
- La propriété CSS
font-display
offre une gestion avancée de chargement de police, bien que le support du navigateur reste incomplet. - Bien que le flash de texte non style (Fout) puisse persister, son impact peut être réduit en alignant les mesures de police de secours (X-Height et Largeur) avec la police personnalisée.
L'attrait des polices Web personnalisées:
Les visiteurs du site Web priorisent le contenu. La typographie exceptionnelle est donc essentielle pour la lisibilité, la lisibilité et l'identité de la marque. Polices Web personnalisées - fondements non préinstallés sur les appareils utilisateur - livraison de conception typographique supérieure. Bien que la règle CSS @font-face
ait permis une adoption généralisée, la taille inhérente des fichiers de police peut avoir un impact sur les performances du site. Le chargement efficace des polices est primordial.
Comprendre le flash du texte invisible (FOIT):
La méthode typique de l'utilisation de polices personnalisées - les définir via CSS @font-face
et s'appuyant sur le comportement par défaut du navigateur - est sous-optimale. Les navigateurs retardent souvent le chargement des polices jusqu'à ce que l'analyse CSS soit terminée. En outre, comme le souligne Zach Leatherman, les téléchargements de polices nécessitent des conditions spécifiques:
- un élément HTML en utilisant le spécifié
font-family
. - Dans les navigateurs Webkit et clignotements, l'élément ne doit pas être vide.
- Pour les navigateurs prenant en charge les descripteurs de plage Unicode, le contenu doit correspondre à la plage spécifiée.
Ce téléchargement retardé se traduit souvent par l'invisibilité du texte jusqu'à ce que la police se charge. La manipulation du navigateur de POIT varie:
- Blink et Firefox utilisent un délai d'expiration de trois secondes; Si la police ne se charge pas, une police de secours s'affiche, conduisant potentiellement à Fout (flash de texte non style).
- Safari, le navigateur par défaut d'Android et BlackBerry Affichent aucun texte jusqu'à ce que la police se charge, laissant aux utilisateurs un espace vide.
- ie / edge Affichez directement la police de secours, une approche plus conviviale.
Alors que Fout est moins perturbateur que le POIT, idéalement, les deux doivent être évités. Cependant, de nombreux experts considèrent Fout préférable à Foit.
Optimisation des fichiers de police personnalisés:
Plusieurs stratégies minimisent la taille du fichier de police:
-
Minimiser les polices de caractères: Utilisez un petit nombre de polices soigneusement choisies.
-
Formats compatibles avec le navigateur: Préoriser Woff2, retombant à Woff. Exemple:
@font-face { font-family: 'Open Sans'; src: local('Open Sans'), local('OpenSans'), url('fonts/open-sans.woff2') format('woff2'), url('fonts/open-sans.woff') format('woff'); }
-
Chargez uniquement les styles nécessaires: Évitez de charger des variations de police inutilisées (italique, gras, etc.).
-
Ensembles de caractères de sous-ensemble: Inclure uniquement les caractères utilisés sur votre page. (Voir les "temps de chargement de la page de slash de Dudley avec CSS Sous-setting" pour plus de détails).
Adommagent le Poit:
Plusieurs méthodes atténuent le Poit:
-
Évitez les polices personnalisées (seigneur de secours aux polices système): Une solution simple, quoique moins esthétique, la solution consiste à s'appuyer uniquement sur les polices système. Exemple:
body { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif; }
-
chargeur de polices Web: Cette bibliothèque JavaScript charge de manière asynchrone des polices, affichant des replies jusqu'à ce que la police personnalisée soit disponible.
-
API de chargement de police CSS: Cette API standard fournit un contrôle à grain fin sur le chargement des polices, permettant l'utilisation de polices système jusqu'à ce que les polices personnalisées soient prêtes. (Voir "le démarrage de Manuel Matuzovic avec le chargement des polices CSS" pour un tutoriel).
L'avenir: CSS font-display
:
La propriété CSS font-display
offre un contrôle granulaire sur le chargement des polices et le comportement de secours. Les valeurs incluent auto
, block
, swap
, fallback
et optional
. Bien que la prise en charge du navigateur soit encore limitée, elle représente l'avenir du chargement des polices Web.
atténuant fout:
Bien que les méthodes ci-dessus traitent de FOIT, FOT peut encore se produire. La minimisation de son impact consiste à correspondre à la hauteur X et à la largeur de la police de secours aux dimensions de la police personnalisée à l'aide d'outils comme le matchur de style de police de Monica Dinculescu.
Conclusion:
La gestion efficace des polices Web nécessite l'optimisation de la taille du fichier et du contrôle du comportement de chargement des polices. Les méthodes discutées ici, ainsi que les ressources fournies, offrent des solutions efficaces pour améliorer les performances du site Web et l'expérience utilisateur.
Questions fréquemment posées (FAQ):
(La section FAQ de l'entrée d'origine est déjà bien écrite et ne nécessite pas de modification significative pour cette réécriture.) La section FAQ d'origine est conservée telle quelle.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Si vous avez récemment commencé à travailler avec GraphQL ou examiné ses avantages et ses inconvénients, vous avez sans aucun doute entendu des choses comme "GraphQL ne prend pas en charge la mise en cache" ou

Dans cet article, nous plongerons dans le monde des barres de défilement. Je sais, ça ne semble pas trop glamour, mais croyez-moi, une page bien conçue va de pair

L'API de transition Svelte fournit un moyen d'animer les composants lorsqu'ils entrent ou quittent le document, y compris les transitions Svelte personnalisées.

Combien de temps passez-vous à concevoir la présentation de contenu pour vos sites Web? Lorsque vous écrivez un nouveau blog ou créez une nouvelle page, pensez-vous à

Avec la récente montée du prix du bitcoin sur 20k $ USD, et pour lui, récemment en train de briser 30k, je pensais que cela valait la peine de reprendre une profonde plongeon dans la création d'Ethereum

Les commandes NPM exécutent diverses tâches pour vous, soit en tant que processus unique ou en cours d'exécution pour des choses comme le démarrage d'un serveur ou la compilation de code.

Je discutais avec Eric Meyer l'autre jour et je me suis souvenu d'une histoire d'Eric Meyer de mes années de formation. J'ai écrit un article de blog sur la spécificité CSS, et

L'article discute de l'utilisation de CSS pour les effets de texte comme les ombres et les gradients, les optimiser pour les performances et l'amélioration de l'expérience utilisateur. Il répertorie également les ressources pour les débutants (159 caractères)


Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Adaptateur de serveur SAP NetWeaver pour Eclipse
Intégrez Eclipse au serveur d'applications SAP NetWeaver.

Dreamweaver CS6
Outils de développement Web visuel

Navigateur d'examen sécurisé
Safe Exam Browser est un environnement de navigation sécurisé permettant de passer des examens en ligne en toute sécurité. Ce logiciel transforme n'importe quel ordinateur en poste de travail sécurisé. Il contrôle l'accès à n'importe quel utilitaire et empêche les étudiants d'utiliser des ressources non autorisées.

Version Mac de WebStorm
Outils de développement JavaScript utiles

Listes Sec
SecLists est le compagnon ultime du testeur de sécurité. Il s'agit d'une collection de différents types de listes fréquemment utilisées lors des évaluations de sécurité, le tout en un seul endroit. SecLists contribue à rendre les tests de sécurité plus efficaces et productifs en fournissant facilement toutes les listes dont un testeur de sécurité pourrait avoir besoin. Les types de listes incluent les noms d'utilisateur, les mots de passe, les URL, les charges utiles floues, les modèles de données sensibles, les shells Web, etc. Le testeur peut simplement extraire ce référentiel sur une nouvelle machine de test et il aura accès à tous les types de listes dont il a besoin.