その理由の1つは、今日のWebデザイナーは、Webフォント(通常はWOFF形式)を使用することを好みます。たとえば、Google Webフォントなどです。
以前は、サイトに表示できるフォントは、ユーザーがローカルにインストールしたものだけでした。たとえば、MacユーザーとWindowsユーザーは必ずしも同じフォントを持っていなかったため、デザイナーは本能的に常に次のようにルールを定義しました。
font-family: Arial, Helvetica, sans-serif;
ここで、最初のフォントがシステム上で見つからなかった場合、ブラウザは2番目のフォントを探し、最後にフォールバック「サンセリフ」フォントを探します。
これで、ブラウザにフォントをダウンロードさせるCSSルールとしてフォントURLを与えることができます。
@import url(http://fonts.googleapis.com/css?family=Droid+Serif:400,700);
次に、たとえば次のようにして特定の要素のフォントをロードします。
font-family: 'Droid Serif',sans-serif;
これは、カスタムフォントを使用できることが非常に一般的ですが、ブラウザによってリソースがロードされるまでテキストが表示されないという問題にもつながります。これには、ダウンロード時間、フォントのロード時間、レンダリング時間が含まれます。これはあなたが経験しているアーティファクトだと思います。
例として:私の全国紙の1つであるDagens Nyheterは、見出しにはWebフォントを使用しますが、リードには使用しないため、そのサイトが読み込まれると、通常リードが最初に表示され、0.5秒後に上記のすべての空白スペースが読み込まれます見出し付き(これは少なくともChromeとOperaには当てはまります。他の人は試していません)。
(また、デザイナーは最近どこでも絶対にJavaScriptを振りかけているので、誰かがテキストで何か巧妙なことをしようとしているのかもしれません。それが遅れる理由です。それは非常にサイト特有です。時間は上記のウェブフォントの問題だと思います。)
添加
この答えは非常に支持されましたが、私はあまり詳しく説明しませんでしたが、おそらくこのためです。質問スレッドには多くのコメントがあったので、少し拡大してみます(トピックが保護された後、多くのコメントが消えたようです-一部のモデレーターはおそらく手動で削除しました)。また、これらはすべて独自の方法で展開されるため、このスレッドの他の回答をお読みください。
この現象は、一般に「スタイルなしコンテンツのフラッシュ」、特に「スタイルなしテキストのフラッシュ」として知られています。「FOUC」と「FOUT」を検索すると、詳細情報が表示されます。
Webフォントに関連して、FOUTに関するWebデザイナーのPaul Irishの投稿をお勧めします。
注目できることは、異なるブラウザはこれを異なる方法で処理するということです。上記で書いたように、OperaとChromeはどちらも同じように動作します。すべてのWebKitベースのもの(Chrome、Safariなど)は、Webフォントの読み込み期間中にフォールバックフォントでWebフォントテキストをレンダリングしないことにより、FOUTを回避することを選択します。場合でも、ウェブフォントがキャッシュされ、そこになりますレンダリング遅延すること。この質問スレッドには多くのコメントがあり、キャッシュされたフォントがこのように振る舞うのは間違っていますが、たとえば上記のリンクから:
どのような場合にFOUTを取得しますか
- Will:リモートttf / otf / woffのダウンロードと表示
- Will:キャッシュされたttf / otf / woffの表示
- Will: data-uri ttf / otf / woffのダウンロードと表示
- Will:キャッシュされたデータの表示uri ttf / otf / woff
- しない:従来のフォントスタックで既にインストールされ、名前が付けられているフォントを表示する
- しない: local()の場所を使用してインストールされ、名前が付けられたフォントを表示する
Chromeは、レンダリングの前にFOUTリスクがなくなるまで待機するため、遅延が発生します。効果がどの程度見えるか(特にキャッシュからロードする場合)は、レンダリングする必要のあるテキストの量とおそらく他の要因に依存しているようですが、キャッシュは効果を完全には削除しません。
アイルランド語では、2011年4月14日の時点でブラウザの動作に関する更新が投稿の下部にあります。
- Firefox(FFb11およびFF4 Final以降)にはFOUTがありません!すごい!http://bugzil.la/499292基本的に、テキストは3秒間非表示になり、その後、代替フォントが表示されます。ただし、おそらく3秒以内にウェブフォントが読み込まれます。
- IE9は、WOFFとTTFおよびOTFをサポートしています(ただし、ビット セットを埋め込む必要があります-WOFFを使用する場合はほとんど意味がありません)。しかしながら!!!IE9にはFOUTがあります。:(
- Webkitには、 0.5秒後にフォールバックテキストを表示するために着陸するのを待っているパッチがあります。FFと同じ動作ですが、3秒ではなく0.5秒です。
- 追加:Blinkにもこれに関するバグが登録されていますが、それをどう処理するかについては最終的な合意に達していないようです-現在はWebKitと同じ実装です。
これがデザイナー向けの質問である場合、のようなこれらの種類の問題を回避する方法に進むことができますwebfontloader
が、それは別の質問です。ポール・アイリッシュのリンクでは、この問題についてさらに詳しく説明しています。