Um dos motivos é que atualmente os designers da Web gostam de usar fontes da Web (geralmente no formato WOFF ), por exemplo, através das fontes da Web do Google .
Anteriormente, as únicas fontes que podiam ser exibidas em um site eram aquelas que o usuário instalava localmente. Como, por exemplo, usuários de Mac e Windows não tinham necessariamente as mesmas fontes, os designers sempre instintivamente 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 e, finalmente, uma fonte "sans-serif" de fallback.
Agora, pode-se fornecer um URL da fonte como uma regra CSS para fazer com que o navegador faça o download de uma fonte, como:
@import url(http://fonts.googleapis.com/css?family=Droid+Serif:400,700);
e carregue a fonte para 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é o recurso ter sido carregado pelo navegador, o que inclui o tempo de download, o tempo de carregamento da fonte e o tempo de renderização. Espero que este seja o artefato que você está enfrentando.
Como exemplo: um dos meus jornais nacionais, Dagens Nyheter , usa fontes da Web como manchetes, mas não seus leads; portanto, quando esse site é carregado, geralmente os vejo 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, os designers borrifam o JavaScript absolutamente em todos os lugares hoje em dia, 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 do texto a atrasar nesses textos. vezes, é o problema das fontes da web descrito acima, acredito.)
Adição
Essa resposta ficou muito positiva, embora eu não tenha entrado em muitos detalhes, ou talvez por causa disso. Houve muitos comentários no segmento de perguntas, então tentarei expandir um pouco (muitos comentários parecem ter desaparecido pouco tempo após a proteção do tópico - 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. A busca por "FOUC" e "FOUT" fornece mais informações.
Posso recomendar a publicação do web designer Paul Irish no FOUT em conexão com fontes da web .
O que se pode notar é que navegadores diferentes lidam com isso de maneira diferente. Escrevi acima que havia testado o Opera e o Chrome, que se comportavam da mesma forma. Todos os baseados no WebKit (Chrome, Safari etc.) optam por evitar FOUT ao não renderizar o texto da fonte da Web com uma fonte substituta durante o período de carregamento da fonte da Web. Mesmo que a fonte da Web seja armazenada em cache, haverá um atraso na renderização . Há muitos comentários neste tópico de perguntas que dizem o contrário e que é totalmente errado que as fontes em cache se comportem assim, mas, por exemplo, no link acima:
Em que casos você receberá um FOUT
- Will: Fazendo o download e exibindo um ttf / otf / woff remoto
- Will: Exibindo um ttf / otf / woff em cache
- Will: Fazendo o download e exibindo um data-uri ttf / otf / woff
- Will: Exibindo um data-uri em cache ttf / otf / woff
- Não: Exibindo uma fonte que já está instalada e nomeada na pilha de fontes tradicional
- Não será: exibindo uma fonte instalada e nomeada usando o local ()
Como o Chrome aguarda até que o risco FOUT acabe antes da renderização, isso atrasa. Até que ponto o efeito é visível (especialmente ao carregar do cache) parece depender, entre outras coisas, da quantidade de texto que precisa ser renderizada e talvez de outros fatores, mas o armazenamento em 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 da postagem:
- O Firefox (a partir do FFb11 e FF4 Final) não possui mais um FOUT! Wooohoo! http://bugzil.la/499292 Basicamente, o texto fica invisível por 3 segundos e, em seguida, retorna a fonte de fallback. O webfont provavelmente será carregado dentro desses três segundos ... espero ...
- O IE9 suporta WOFF e TTF e OTF (embora exija algo de conjunto de bits de incorporação - principalmente discutível se você usar WOFF). CONTUDO!!! O IE9 tem um FOUT. :(
- O Webkit tem um patch aguardando para pousar para mostrar o texto de fallback após 0,5 segundos. O mesmo comportamento de FF, mas 0,5s em vez de 3s.
- Além disso : o Blink também possui um bug registrado , mas parece que não foi alcançado um consenso final sobre o que fazer com ele - atualmente a mesma implementação do WebKit.
Se essa fosse uma pergunta voltada para designers, webfontloader
seria possível evitar maneiras de evitar esse tipo de problema , mas isso seria outra pergunta. O link Paul Irish entra em mais detalhes sobre esse assunto.