Una razón es que a los diseñadores web hoy en día les gusta usar fuentes web (generalmente en formato WOFF ), por ejemplo, a través de las fuentes web de Google .
Anteriormente, las únicas fuentes que se podían mostrar en un sitio eran aquellas que el usuario había instalado localmente. Dado que, por ejemplo, los usuarios de Mac y Windows no necesariamente tenían las mismas fuentes, los diseñadores siempre definieron instintivamente las reglas como
font-family: Arial, Helvetica, sans-serif;
donde, si no se encuentra la primera fuente en el sistema, el navegador buscará la segunda y, por último, una fuente alternativa "sans-serif".
Ahora, uno puede dar una URL de fuente como una regla CSS para que el navegador descargue una fuente, como tal:
@import url(http://fonts.googleapis.com/css?family=Droid+Serif:400,700);
y luego cargue la fuente para un elemento específico, por ejemplo:
font-family: 'Droid Serif',sans-serif;
Esto es muy popular para poder usar fuentes personalizadas, pero también lleva al problema de que no se muestra texto hasta que el navegador haya cargado el recurso, que incluye el tiempo de descarga, el tiempo de carga de la fuente y el tiempo de representación. Espero que este sea el artefacto que estás experimentando.
Como ejemplo: uno de mis periódicos nacionales, Dagens Nyheter , usa fuentes web para sus titulares, pero no sus leads, por lo que cuando se carga ese sitio, generalmente veo los leads primero, y medio segundo después todos los espacios en blanco de arriba están ocupados con titulares (esto es cierto en Chrome y Opera, al menos. No he probado otros).
(Además, los diseñadores rocían JavaScript en todas partes en estos días, por lo que tal vez alguien está tratando de hacer algo inteligente con el texto, por eso se retrasa. Sin embargo, eso sería muy específico del sitio: la tendencia general del texto a retrasarse en estos veces es el problema de las fuentes web descrito anteriormente, creo).
Adición
Esta respuesta se volvió muy votada, aunque no entre en muchos detalles, o tal vez por esto. Ha habido muchos comentarios en el hilo de preguntas, por lo que intentaré expandirme un poco (muchos comentarios parecen haber desaparecido poco después de que se protegió el tema; es probable que algún moderador los haya limpiado manualmente). Además, lea las otras respuestas en este hilo, ya que todas se expanden a su manera.
El fenómeno aparentemente se conoce como "destello de contenido sin estilo" en general, y "destello de texto sin estilo" en particular. La búsqueda de "FOUC" y "FOUT" brinda más información.
Puedo recomendar la publicación del diseñador web Paul Irish en FOUT en relación con las fuentes web .
Lo que se puede notar es que diferentes navegadores manejan esto de manera diferente. Escribí anteriormente que había probado Opera y Chrome, que se comportaron de manera similar. Todos los basados en WebKit (Chrome, Safari, etc.) eligen evitar FOUT al no representar el texto de la fuente web con una fuente alternativa durante el período de carga de la fuente web. Incluso si la fuente web se almacena en caché, habrá un retraso de renderizado . Hay muchos comentarios en este hilo de preguntas que dicen lo contrario y que es completamente incorrecto que las fuentes en caché se comporten así, pero, por ejemplo, desde el enlace anterior:
En qué casos obtendrás un FOUT
- Will: descargar y mostrar un ttf / otf / woff remoto
- Will: Mostrar un ttf / otf / woff en caché
- Will: descarga y muestra un data-uri ttf / otf / woff
- Will: mostrar un data-uri en caché ttf / otf / woff
- No: mostrar una fuente que ya está instalada y nombrada en su pila de fuentes tradicional
- No: mostrar una fuente que está instalada y nombrada usando la ubicación local ()
Como Chrome espera hasta que el riesgo FOUT haya desaparecido antes de renderizar, esto genera un retraso. Hasta qué punto el efecto es visible (especialmente cuando se carga desde la memoria caché) parece depender, entre otras cosas, de la cantidad de texto que debe procesarse y quizás de otros factores, pero el almacenamiento en caché no elimina por completo el efecto.
Irish también tiene algunas actualizaciones sobre el comportamiento del navegador a partir de 2011–04–14 al final de la publicación:
- Firefox (a partir de FFb11 y FF4 Final) ya no tiene un FOUT! Wooohoo! http://bugzil.la/499292 Básicamente, el texto es invisible durante 3 segundos y luego recupera la fuente alternativa. Sin embargo, la fuente web probablemente se cargará dentro de esos tres segundos ... con suerte ...
- IE9 admite WOFF y TTF y OTF (aunque requiere un conjunto de bits de incrustación , principalmente discutible si usa WOFF). ¡¡¡SIN EMBARGO!!! IE9 tiene un FOUT. :(
- Webkit tiene un parche en espera de aterrizar para mostrar el texto alternativo después de 0,5 segundos. Así mismo comportamiento que FF pero 0.5s en lugar de 3s.
- Adición : Blink también tiene un error registrado para esto , pero parece que no se ha alcanzado un consenso final sobre qué hacer con él, actualmente la misma implementación que WebKit.
Si se tratara de una pregunta dirigida a los diseñadores, uno podría buscar formas de evitar este tipo de problemas webfontloader
, pero esa sería otra pregunta. El enlace de Paul Irish entra en más detalles sobre este asunto.