Ein Grund dafür ist, dass Webdesigner heutzutage gerne Webfonts (normalerweise im WOFF- Format) verwenden, z. B. über Google Webfonts .
Bisher konnten nur die vom Benutzer lokal installierten Schriftarten auf einer Site angezeigt werden. Da z. B. Mac- und Windows-Benutzer nicht unbedingt die gleichen Schriftarten hatten, definierten Designer instinktiv immer Regeln wie
font-family: Arial, Helvetica, sans-serif;
Wäre die erste Schriftart nicht auf dem System vorhanden, würde der Browser nach der zweiten und schließlich nach einer "serifenlosen" Ersatzschrift suchen.
Jetzt kann man eine Schriftart-URL als CSS-Regel angeben, damit der Browser eine Schriftart als solche herunterlädt:
@import url(http://fonts.googleapis.com/css?family=Droid+Serif:400,700);
und laden Sie dann die Schriftart für ein bestimmtes Element, z. B .:
font-family: 'Droid Serif',sans-serif;
Dies ist sehr beliebt, um benutzerdefinierte Schriftarten verwenden zu können, es führt jedoch auch zu dem Problem, dass kein Text angezeigt wird, bis die Ressource vom Browser geladen wurde, einschließlich der Downloadzeit, der Ladezeit der Schriftarten und der Renderzeit. Ich gehe davon aus, dass dies das Artefakt ist, das Sie erleben.
Als Beispiel: Eine meiner nationalen Zeitungen, Dagens Nyheter , verwendet Web-Schriftarten als Überschriften, nicht jedoch als Ableitungen. Wenn diese Site geladen wird, werden in der Regel die Ableitungen zuerst und eine halbe Sekunde später alle darüber liegenden Leerzeichen ausgefüllt mit Schlagzeilen (dies gilt zumindest für Chrome und Opera. Habe noch keine anderen ausprobiert).
(Außerdem streuen Designer JavaScript heutzutage absolut überall hin, also versucht vielleicht jemand, etwas Kluges mit dem Text zu machen, weshalb er verzögert wird. Das wäre jedoch sehr site-spezifisch: Die allgemeine Tendenz, dass sich der Text in diesen verzögert Mal ist das oben beschriebene Webfont-Problem, glaube ich.)
Zusatz
Diese Antwort wurde sehr positiv aufgenommen, obwohl ich nicht sehr ins Detail gegangen bin, oder vielleicht deswegen . Da der Fragenthread viele Kommentare enthält, werde ich versuchen, ihn ein wenig zu erweitern (viele Kommentare scheinen kurz nach dem Schutz des Themas verschwunden zu sein - einige Moderatoren haben sie wahrscheinlich manuell bereinigt). Lesen Sie auch die anderen Antworten in diesem Thread, da sie alle auf ihre eigene Weise erweitert werden.
Das Phänomen ist anscheinend allgemein als "Flash eines nicht gestalteten Inhalts" und insbesondere als "Flash eines nicht gestalteten Texts" bekannt. Suche nach "FOUC" und "FOUT" gibt weitere Informationen.
Ich kann den Beitrag von Webdesigner Paul Irish auf FOUT im Zusammenhang mit Webfonts empfehlen .
Was man beachten kann ist, dass verschiedene Browser dies unterschiedlich behandeln. Ich habe oben geschrieben, dass ich Opera und Chrome getestet habe, die sich beide ähnlich verhalten haben. Alle WebKit-basierten (Chrome, Safari usw.) vermeiden FOUT, indem sie während des Ladezeitraums für Web-Schriftarten keinen Web-Schrifttext mit einer Ersatzschrift rendern. Selbst wenn die Webschrift zwischengespeichert wird, kommt es zu einer Renderverzögerung . Es gibt viele Kommentare in diesem Fragenthread, in denen etwas anderes gesagt wird, und dass es absolut falsch ist, dass sich zwischengespeicherte Schriften wie folgt verhalten, aber z. B. über den obigen Link:
In welchen Fällen erhalten Sie eine FOUT
- Will: Herunterladen und Anzeigen eines Remote-TTF / OTF / Woff
- Will: Zeigt ein zwischengespeichertes ttf / otf / woff an
- Will: Herunterladen und Anzeigen eines Daten-Uri-TTF / OTF / Woff
- Will: Anzeige eines zwischengespeicherten Daten-Uri-TTF / OTF / Woff
- Wird nicht: Anzeigen einer Schriftart, die bereits installiert und in Ihrem traditionellen Schriftstapel benannt ist
- Wird nicht: Anzeigen einer Schriftart, die unter Verwendung des lokalen () Speicherorts installiert und benannt ist
Da Chrome vor dem Rendern wartet, bis das FOUT-Risiko beseitigt ist, tritt eine Verzögerung ein. Zu welchem Ausmaß die Wirkung sichtbar ist (vor allem , wenn aus dem Cache geladen) scheint unter anderem die Menge an Text abhängig zu sein, und vielleicht auch andere Faktoren gemacht werden muss, aber das Caching nicht vollständig entfernt den Effekt.
Irish hat am Ende des Beitrags auch einige Aktualisierungen zum Browserverhalten (Stand 2011/04/14) veröffentlicht:
- Firefox (ab FFb11 und FF4 Final) hat keine FOUT mehr! Wooohoo! http://bugzil.la/499292 Grundsätzlich ist der Text 3 Sekunden lang unsichtbar und bringt dann die Ersatzschrift zurück. Das Webfont wird wahrscheinlich innerhalb dieser drei Sekunden geladen ... hoffentlich ...
- IE9 unterstützt WOFF und TTF und OTF (obwohl es eine eingebettete Bit- Set-Sache erfordert - meistens streitig, wenn Sie WOFF verwenden). JEDOCH!!! IE9 hat einen FOUT. :(
- Webkit hat einen Patch, der darauf wartet, nach 0,5 Sekunden als Ersatztext angezeigt zu werden. Also dasselbe Verhalten wie FF, aber 0,5s statt 3s.
- Ergänzung : Blink hat auch dafür einen Fehler registriert , aber es scheint, dass noch kein endgültiger Konsens darüber erzielt wurde, was damit zu tun ist - derzeit dieselbe Implementierung wie WebKit.
Wenn dies eine Frage für Designer wäre, könnte man nach Wegen suchen, um solche Probleme zu vermeiden webfontloader
, aber das wäre eine andere Frage. Der Paul Irish Link geht auf diese Angelegenheit näher ein.