Ein Grund ist, dass Webdesigner heutzutage gerne Webfonts (normalerweise im WOFF- Format) verwenden, z. B. über Google Webfonts .
Bisher konnten auf einer Website nur Schriftarten angezeigt werden, die der Benutzer lokal installiert hatte. Da z. B. Mac- und Windows-Benutzer nicht unbedingt die gleichen Schriftarten hatten, definierten Designer instinktiv immer Regeln als
font-family: Arial, Helvetica, sans-serif;
Wenn der erste Zeichensatz nicht auf dem System gefunden wurde, suchte der Browser nach dem zweiten Zeichensatz und zuletzt nach einer "serifenlosen" Fallschrift.
Nun kann man eine Schriftart-URL als CSS-Regel angeben, damit der Browser eine Schriftart herunterladen kann:
@import url(http://fonts.googleapis.com/css?family=Droid+Serif:400,700);
und laden Sie dann die Schriftart für ein bestimmtes Element, z.
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. Dazu gehören die Downloadzeit, die Ladezeit der Schriftart und die Renderzeit. Ich gehe davon aus, dass dies das Artefakt ist, das Sie erleben.
Ein Beispiel: Eine meiner nationalen Zeitungen, Dagens Nyheter, verwendet Webschriftarten für ihre Schlagzeilen, nicht jedoch für ihre Leads. Wenn diese Website geladen ist, sehe ich normalerweise zuerst die Leads, und eine halbe Sekunde später sind alle darüber liegenden Leerzeichen belegt mit Schlagzeilen (dies gilt zumindest für Chrome und Opera. Ich habe andere nicht ausprobiert).
(Außerdem streuen Designer heutzutage absolut überall JavaScript, daher versucht jemand vielleicht, etwas Kluges mit dem Text zu tun, weshalb er verzögert wird. Dies wäre jedoch sehr ortsspezifisch: die allgemeine Tendenz, dass Text in diesen verzögert wird Ich glaube, mal ist das oben beschriebene Problem mit Web-Fonts.)
Zusatz
Diese Antwort wurde sehr positiv, obwohl ich nicht oder aus diesem Grund nicht viel ins Detail ging . Es gab viele Kommentare in dem Fragenthread, also werde ich versuchen, 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 "Blitz von nicht gestylten Inhalten" und "Blitz von ungestyltem Text" im Besonderen bekannt. Wenn Sie nach "FOUC" und "FOUT" suchen, erhalten Sie weitere Informationen.
Ich kann den Beitrag des Webdesigners Paul Irish zu FOUT in Verbindung mit Webfonts empfehlen .
Was man feststellen kann ist, dass verschiedene Browser dies unterschiedlich behandeln. Ich schrieb oben, dass ich Opera und Chrome getestet hatte, die sich beide ähnlich verhielten. Alle WebKit-basierten (Chrome, Safari usw.) vermeiden es, FOUT zu vermeiden, indem der Text der Webschriftart während des Ladens der Webschriftart nicht mit einer Fallback-Schriftart dargestellt wird. Selbst wenn die Webschriftart zwischengespeichert wird, kommt es zu einer Renderverzögerung . Es gibt viele Kommentare in diesem Fragenthread, die etwas anderes sagen und dass es völlig falsch ist, dass sich zwischengespeicherte Schriftarten so verhalten, aber zB über den obigen Link:
In welchen Fällen erhalten Sie einen FOUT
- Will: Herunterladen und Anzeigen einer Fernbedienung ttf / otf / woff
- Will: Anzeige eines zwischengespeicherten TTF / otf / woff
- Will: Herunterladen und Anzeigen einer Daten-uri ttf / otf / woff
- Will: Anzeige einer zwischengespeicherten Daten-uri ttf / otf / woff
- Wird nicht: Zeigt eine Schriftart an, die bereits installiert und in Ihrem herkömmlichen Fontstapel benannt ist
- Wird nicht: Anzeige einer Schriftart, die mit dem Speicherort local () installiert und benannt wird
Da Chrome vor dem Rendern wartet, bis das FOUT-Risiko verschwunden ist, führt dies zu einer Verzögerung. 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 auch einige Updates zum Browserverhalten von 2011–04–14 am Ende des Beitrags hinzugefügt:
- Firefox (ab FFb11 und FF4 Final) hat keinen FOUT mehr! Wooohoo! http://bugzil.la/499292 Grundsätzlich ist der Text 3 Sekunden lang unsichtbar und bringt dann die Fallback-Schriftart zurück. Der Webfont wird wahrscheinlich innerhalb dieser drei Sekunden geladen ... hoffentlich ..
- IE9 unterstützt WOFF und TTF und OTF (obwohl dazu ein Bitsatz erforderlich ist - meistens wenn Sie WOFF verwenden). JEDOCH!!! IE9 hat einen FOUT. :(
- Webkit wartet mit einem Patch auf, um nach 0,5 Sekunden einen Fallback-Text anzuzeigen. Also dasselbe Verhalten wie bei FF aber 0,5s statt 3s.
- Zusatz : Blink hat auch hier 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 an Designer war, könnte man Wege gehen, um solche Probleme wie zu vermeiden webfontloader
, aber das wäre eine andere Frage. Der Paul-Iren-Link geht in dieser Angelegenheit weiter ins Detail.