Uma razão é que os web designers hoje em dia gostam de usar fontes da web (geralmente no formato WOFF ), por exemplo através das fontes do Google Web .
Anteriormente, as únicas fontes que podiam ser exibidas em um site eram aquelas que o usuário tinha instalado localmente. Desde e. Os usuários de Mac e Windows não tinham necessariamente as mesmas fontes, os designers instintivamente sempre definiam regras como
font-family: Arial, Helvetica, sans-serif;
onde, se a primeira fonte não foi encontrada no sistema, o navegador procuraria a segunda fonte e, por último, uma fonte "sans-serif" alternativa.
Agora, é possível fornecer uma URL de fonte como uma regra de CSS para que o navegador baixe uma fonte, como:
@import url(http://fonts.googleapis.com/css?family=Droid+Serif:400,700);
e, em seguida, carregue a fonte de um elemento específico, por exemplo:
font-family: 'Droid Serif',sans-serif;
Isso é muito popular para poder usar fontes personalizadas, mas também leva ao problema de que nenhum texto é exibido até que o recurso tenha sido carregado pelo navegador, o que inclui o tempo de download, o tempo de carregamento da fonte e a renderização. Tempo. Espero que este seja o artefato que você está experimentando.
Como exemplo: um dos meus jornais nacionais, o Dagens Nyheter , usa fontes da Web para suas manchetes, mas não suas indicações, então quando esse site é carregado, eu geralmente vejo os leads primeiro, e meio segundo depois, todos os espaços em branco acima são preenchidos com manchetes (isso é verdade no Chrome e no Opera, pelo menos. Não tentei outros).
(Além disso, designers espalham JavaScript absolutamente em qualquer lugar nos dias de hoje, então talvez alguém esteja tentando fazer algo inteligente com o texto, e é por isso que está atrasado. Isso seria muito específico do site: a tendência geral de texto ser atrasado nestes tempos é o problema de fontes da web descrito acima, eu acredito.)
Adição
Essa resposta ficou muito defendida, embora eu não tenha entrado em muitos detalhes, ou talvez porque disso. Houve muitos comentários no tópico da questão, então vou tentar expandir um pouco (muitos comentários parecem ter desaparecido pouco depois de o tópico ser protegido - algum moderador provavelmente os limpou manualmente). Além disso, leia as outras respostas neste tópico, pois todas elas se expandem à sua maneira.
O fenômeno é aparentemente conhecido como "flash de conteúdo não-estilizado" em geral, e "flash de texto não-estilizado" em particular. Procurando por "FOUC" e "FOUT" dá mais informações.
Eu posso recomendar o web designer Paul Irish post sobre FOUT em conexão com fontes da web .
O que se pode notar é que diferentes navegadores lidam com isso de maneira diferente. Eu escrevi acima que eu tinha testado o Opera e Chrome, que se comportaram de forma semelhante. Todos os baseados no WebKit (Chrome, Safari, etc.) optam por evitar o FOUT por não a renderização do texto da fonte da Web com uma fonte de fallback durante o período de carregamento da fonte da web. Mesmo se a fonte da Web estiver em cache, será um atraso de renderização . Há muitos comentários neste encadeamento de pergunta dizendo o contrário e é totalmente errado que as fontes armazenadas em cache se comportem assim, mas, por exemplo, a partir do link acima:
In what cases will you get a FOUT
- Will: Downloading and displaying a remote ttf/otf/woff
- Will: Displaying a cached ttf/otf/woff
- Will: Downloading and displaying a data-uri ttf/otf/woff
- Will: Displaying a cached data-uri ttf/otf/woff
- Will not: Displaying a font that is already installed and named in your traditional font stack
- Will not: Displaying a font that is installed and named using the local() location
Como o Chrome aguarda até que o risco FOUT desapareça antes da renderização, isso gera um atraso. Em que extensão o efeito é visível (especialmente ao carregar do cache) parece ser dependente, entre outras coisas, da quantidade de texto que precisa ser renderizado e talvez outros fatores, mas o cache não remove completamente o efeito.
O irlandês também tem algumas atualizações sobre o comportamento do navegador em 2011–04–14 na parte inferior do post:
- Firefox (as of FFb11 and FF4 Final) no longer has a FOUT! Wooohoo! http://bugzil.la/499292 Basically the text is invisible for 3 seconds, and then it brings back the fallback font. The webfont will probably load within those three seconds though… hopefully..
- IE9 supports WOFF and TTF and OTF (though it requires an embedding bit set thing– mostly moot if you use WOFF). HOWEVER!!! IE9 has a FOUT. :(
- Webkit has a patch waiting to land to show fallback text after 0.5 seconds. So same behavior as FF but 0.5s instead of 3s.
- Addition: Blink has a bug registered for this too, but it seems a final consensus has not been reached regarding what to do with it - currently same implementation as WebKit.
Se essa fosse uma questão voltada para os designers, seria possível encontrar maneiras de evitar esses problemas, como webfontloader
, mas isso seria outra questão. A ligação de Paul Irish é mais detalhada sobre esse assunto.