En la primera parte de nuestra serie dedicada a la ti­po­gra­fía re­s­po­n­si­va ex­pli­ca­mos por qué es necesaria una fuente adaptable cuando se diseñan páginas web re­s­po­n­si­vas. En esta segunda parte nos centramos en los aspectos técnicos y, tras una in­tro­du­c­ción en la que tra­ta­re­mos el fu­n­cio­na­mie­n­to básico del diseño re­s­po­n­si­vo de páginas webs, pro­po­r­cio­na­mos in­s­tru­c­cio­nes para la im­ple­me­n­ta­ción de una ti­po­gra­fía web re­s­po­n­si­va mediante comandos CSS.

Compra y registra tu dominio ideal
  • Ce­r­ti­fi­ca­do SSL Wildcard gratis
  • Registro privado
  • Función Domain Connect para una co­n­fi­gu­ra­ción DNS si­m­pli­fi­ca­da gratis

Fu­n­da­me­n­tos del diseño re­s­po­n­si­vo de páginas web

Mediante el diseño web re­s­po­n­si­vo es posible adaptar los co­n­te­ni­dos de una página web a las ca­ra­c­te­rí­s­ti­cas de las pantallas de cada di­s­po­si­ti­vo móvil. Por motivos de espacio, la pantalla de un sma­r­t­pho­ne genera una vi­sua­li­za­ción de los co­n­te­ni­dos diferente a la pantalla de un ordenador. Es­pe­cia­l­me­n­te en lo referente al tamaño y a la or­de­na­ción de de­te­r­mi­na­dos co­m­po­ne­n­tes de una página web, se considera que las columnas, los elementos de na­ve­ga­ción, los elementos gráficos y la fuente deberían siempre adaptarse al formato y a la de­fi­ni­ción de la pantalla utilizada, así como ajustarse al encuadre en uso. Esto es posible gracias al diseño re­s­po­n­si­vo, que también permite reconocer el di­s­po­si­ti­vo de entrada (ratón, teclado, pantalla táctil) y la co­lo­ca­ción co­rre­s­po­n­die­n­te de los elementos de na­ve­ga­ción. Una manera muy habitual de aplicarlo es usando una cua­drí­cu­la flexible o “grid”, sobre la cual se di­s­tri­bu­yen los di­fe­re­n­tes elementos que componen una página web. Los ejes ve­r­ti­ca­les y ho­ri­zo­n­ta­les de una retícula elástica se ajustan a di­fe­re­n­tes tamaños de pantalla y re­so­lu­cio­nes y, si es necesario, se re­di­s­tri­bu­yen o se recolocan. Incluso si el tamaño de la ventana del navegador se modifica, los co­n­te­ni­dos de la página web se di­s­tri­bu­yen de forma óptima a cada encuadre, ventana gráfica o viewport. La base técnica del diseño re­s­po­n­si­vo la componen HTML5, CSS3 (sobre todo gracias al uso de media queries) y Ja­va­S­cri­pt. Mediante estos lenguajes de pro­gra­ma­ción es posible también im­ple­me­n­tar una ti­po­gra­fía adaptable.

La mejor ti­po­gra­fía web para un diseño re­s­po­n­si­vo de páginas web

Para que un texto se ajuste a cada pantalla es necesario usar una ti­po­gra­fía web adaptable basada en vectores. Para ello, es posible recurrir a fuentes web pree­s­ta­ble­ci­das como las de Google Fonts o Font Squirrel, que ofrecen una gran variedad de ellas de forma to­ta­l­me­n­te gratuita. A la hora de escoger una fuente ti­po­grá­fi­ca es im­po­r­ta­n­te tener en cuenta que sea legible y que transmita el efecto deseado. Si en los en­ca­be­za­dos es posible pe­r­mi­ti­r­se alguna libertad, no es esto lo mejor en el cuerpo del texto principal, ya que una ex­tra­va­ga­n­cia excesiva podría di­fi­cu­l­tar la lectura. El color de la ti­po­gra­fía debería crear un contraste adecuado con el color de fondo de la página. Si es muy pálido, se corre el riesgo de que no se pueda leer. Si la elección resulta difícil, se puede recurrir a he­rra­mie­n­tas online como Colour Contrast Check o Contrast-A, con las que podemos comprobar di­fe­re­n­tes co­m­bi­na­cio­nes y ex­pe­ri­me­n­tar con distintos tonos.

Ti­po­gra­fía web re­s­po­n­si­va mediante media queries de CSS

Gracias a la in­tro­du­c­ción de las llamadas media queries en CSS3 se cuenta con una nueva y útil manera de crear fuentes web ada­p­ta­bles. Estos elementos de las hojas de estilo de CSS reconocen ciertas ca­ra­c­te­rí­s­ti­cas de un di­s­po­si­ti­vo de salida como la re­so­lu­ción de la imagen, las di­me­n­sio­nes de la ventana del navegador o el modo de orie­n­ta­ción vertical (portrait) u ho­ri­zo­n­tal (landscape) en que se muestran los co­n­te­ni­dos. Toda esta in­fo­r­ma­ción sirve para ajustar la vi­sua­li­za­ción de los textos de una página web al di­s­po­si­ti­vo que está usando el usuario.

Lograr una ti­po­gra­fía con CSS que sea re­s­po­n­si­va no es posible mediante valores de píxel, pues los píxeles son una unidad de tamaño estática. Una fuente adaptable solo se logra mediante la apli­ca­ción de una unidad de medida flexible. Es por eso que para de­te­r­mi­nar el tamaño de una fuente web se usan valores relativos como em, rem o po­r­ce­n­ta­jes.

Los si­guie­n­tes comandos de CSS permiten la in­tro­du­c­ción y la or­ga­ni­za­ción de ti­po­gra­fía re­s­po­n­si­va mediante media queries:

  • Con @font-face se incluye una fuente web en la página.
  • Para adaptar la ti­po­gra­fía a cada di­s­po­si­ti­vo es necesario el comando @media. Para una vi­sua­li­za­ción que se adapte a cada di­s­po­si­ti­vo serán también ne­ce­sa­rias las medidas de la ventana gráfica o viewport. Si se combina @media con screen y se completa con min-width (ancho mínimo) o max-width (ancho máximo), de­te­r­mi­na­mos el formato de la ti­po­gra­fía para una de­te­r­mi­na­da anchura del encuadre: @media screen and (min-width: 800px). De esta manera, fijamos si se usará otro tamaño de fuente de­pe­n­die­n­do del tamaño de la ventana del navegador.
  • font-size define el tamaño de la fuente en píxeles o en em, una unidad de medida relativa mediante la cual el ancho de la letra depende del tamaño de esta. La unidad em se rige por el tamaño, pre­via­me­n­te de­te­r­mi­na­do, del elemento re­pre­se­n­ta­do con un valor em. En caso de que el tamaño de letra solo se defina con em, su valor depende del grado de letra del parent element.

Las si­guie­n­tes figuras muestran cómo usar estos comandos de CSS.

Crear en­ca­be­za­dos re­s­po­n­si­vos con media queries

Los títulos y su­b­tí­tu­los se indican en CSS con el atributo h1, h2, h3 etc., y les podemos otorgar di­fe­re­n­tes medidas de re­pre­se­n­ta­ción relativas usando la unidad em. El siguiente ejemplo muestra cómo re­pre­se­n­tar el primer en­ca­be­za­do (h1) en varios tamaños relativos partiendo de un tamaño absoluto (font-size: 100 %).

body {font-size: 100%}
h1 {font-size: 3em;}
@media screen and (max-width: 64em) {
h1 {
        font-size: 2.5em;
    }
}
@media screen and (max-width: 50em) {
h1 {
        font-size: 2em;
    }
}
@media screen and (max-width: 30em){
h1 {
        font-sitze: 1.5em;
    }
}

En este ejemplo se han fijado cuatro variantes de re­pre­se­n­ta­ción di­fe­re­n­tes para h1, como se muestra en el atributo font-size del h1: 3em, 2.5em, 2em, 1.5em. La amplitud de la ventana gráfica del navegador, que ha sido fijada por su valor máximo (max-width), es la que determina cuál de estos cuatro tamaños se va a utilizar. El ancho ha sido definido con una unidad de medida em. Como pre­via­me­n­te no ha sido definido el tamaño del texto, este valor de em se rige por la co­n­fi­gu­ra­ción estándar del navegador, en general 16 píxeles (1em=16px). Con esta medida se pueden calcular los di­fe­re­n­tes anchos a los que se ajustará el tamaño de la fuente. Para ello debemos dividir el número de píxeles del ancho de la ventana por 16. En este ejemplo el tamaño del título h1 se rige por 4 anchos de ventana gráfica di­fe­re­n­tes:

  • más de 1024 píxeles
  • hasta 1024 píxeles (1024 : 16 = 64em)
  • hasta 800 píxeles (800 : 16 = 50em)
  • hasta 480 píxeles (480 : 16 = 30em)

Ob­via­me­n­te se pueden in­tro­du­cir muchas otras in­di­ca­cio­nes que definan el punto de in­te­rru­p­ción o Brea­k­poi­nt a partir del cual cambie el tamaño de la fuente, de manera que se pueda definir mucho más exac­ta­me­n­te el tamaño de nuestro título.

En el caso de en­ca­be­za­dos largos puede suceder que en pantallas pequeñas se corten y se muestren en dos líneas. En este caso hay que definir también de forma relativa el espacio in­te­r­li­neal. Te lo mostramos en el siguiente apartado.

Cuerpo de texto principal re­s­po­n­si­vo con em

Como en el caso de los títulos y su­b­tí­tu­los, también se fija un tamaño de fuente para el párrafo (p) como 100%. El grado de la letra también se define aquí con la unidad relativa em. La im­ple­me­n­ta­ción de tamaños de fuente di­fe­re­n­tes, orie­n­ta­das a los 4 tamaños de ventana gráfica pre­via­me­n­te definidos, se muestra en CSS así:

body {font-size: 100%}
p {font-size: 1.5em;}
@media screen and (max-width: 64em) {
 body {
      font-size: 90%;
   }
}
@media screen and (max-width: 50em) {
 body {
       font-size: 75%;
   }
}
@media screen and (max-width: 30em) {
   body {
        font-size: 50%;
  }
}

Como en la mayoría de na­ve­ga­do­res un valor body de un 100% equivale a 16 píxeles, el tamaño principal de la fuente en el texto (font-size: 1.5em) equivale en nuestro ejemplo a 24 píxeles (1,5 x 16 = 24). El tamaño de la fuente se adapta a la ventana a partir de las in­di­ca­cio­nes font-size (90 %, 75 % y 50 %) en relación al body. Es así como, en pocos pasos, se crea una fuente web adaptable.

Pero también en este caso hemos de tener en cuenta un in­te­r­li­nea­do capaz de responder a las di­fe­re­n­tes pantallas. Según pri­n­ci­pios básicos de la ti­po­gra­fía, el in­te­r­li­nea­do ha de aumentar en pro­po­r­ción con la longitud de la línea de un texto y, además, debería suponer entre un 120 y un 140 por ciento del tamaño de fuente usado (entre 1.2em y 1.4em). Este valor depende siempre, así, de la fuente utilizada.

La unidad em permite mantener la pro­po­r­ción del in­te­r­li­nea­do respecto al tamaño de la fuente. Esto se realiza mediante el comando line-height (altura de la línea).

En este ejemplo el in­te­r­li­nea­do del texto principal es de un 130 por ciento (1.3 em) del tamaño de la fuente y en el caso de los su­b­tí­tu­los de un 120 por ciento (1.2.em).

body {font-size: 100%}
p {
    font-size: 1.5em;
    line-hight: 1.3 em;
}
h1, h2, h3 {line-height: 1.2em;}

Cuerpo de texto principal re­s­po­n­si­vo con rem

También se puede usar la unidad de medida relativa rem (“root em”) en lugar de em para co­n­fi­gu­rar un texto principal reactivo. Rem se rige por el elemento raíz html, y no por cada elemento en pa­r­ti­cu­lar. De esta manera el tamaño de letra se ajusta en relación con los co­n­te­ni­dos completos del elemento raíz, lo que, en especial en el caso de ani­da­cio­nes complejas de elementos co­n­s­ti­tu­ye una ventaja frente al uso de em. Los comandos de CSS para una ti­po­gra­fía web re­s­po­n­si­va mediante el uso de rem podrían consistir en:

html {font-size: 100%;}
p {font-size: 1.5rem;}
h1 {font-size: 3rem;}
h2 {font-size: 2.5 rem;}
h3 {font-size: 2rem;}

Sin embargo, no todas las versiones de los na­ve­ga­do­res soportan la unidad rem. En el caso de na­ve­ga­do­res como Firefox, Chrome, Safari, Edge u Opera no debería suponer un problema, ya que sus versiones antiguas han sido superadas hace tiempo y no deberían estar en uso, pero en el caso de versiones antiguas del Explorer de Microsoft sí, ya que solamente soporta unidades rem a partir de la versión 9. Si también se quiere ga­ra­n­ti­zar una buena vi­sua­li­za­ción para versiones antiguas de los na­ve­ga­do­res, hay que añadir una variante al­te­r­na­ti­va que funcione mediante píxeles, por ejemplo, así:

html {font-size: 100%}
p{
    font-size: 24px;
    font-size: 1.5rem;
}
h1 {
        font-size: 48px;
        font-size: 3rem;
}
h2 {
        font-size: 40px;
        font-size: 2.5rem;
}
h3 {
        font-size: 32px;
        font-size: 2rem;
}

Ti­po­gra­fía web re­s­po­n­si­va mediante la etiqueta viewport

La regla viewport co­n­s­ti­tu­ye otra manera de crear ti­po­gra­fía adaptable para el diseño re­s­po­n­si­vo de una página web. Viewport define en diseño web el tamaño de la ventana del navegador −en ca­s­te­llano se conoce como ventana gráfica− y permite crear un contenido que se adapte a cada tamaño de ventana gráfica, ave­n­ta­ja­n­do en rapidez al uso de los media queries. Mediante las unidades de CSS vw (“viewport width“) y vh (“viewport height“) fijamos el ancho y el alto en relación con el tamaño de la ventana gráfica. Di­s­po­ne­mos, asimismo, de las unidades vmax (“viewport maximum”) y vmin (“viewport minimum”), dos unidades que fijan el tamaño, bien en relación con el ancho o con el alto de la ventana gráfica. Decidir cuál de las dos se usa como base para el ajuste dependerá de cada una de estas unidades: vmin define el valor más bajo y vmax el más alto. Las cuatro unidades viewport consisten en datos po­r­ce­n­tua­les (por ejemplo, 10vw = 10 por ciento del ancho de la ventana), así que en un viewport de 640 x 480 píxeles vmax tomaría como re­fe­re­n­cia los 640 píxeles por ser el valor más alto –en una ventana de este tamaño 10vmax = 64px (640:10).

Esta unidad tampoco es soportada por todos los na­ve­ga­do­res. Aquí obtendrás una visión general.

Crear en­ca­be­za­dos y textos re­s­po­n­si­vos con la etiqueta viewport

La unidad de medida viewport permite adaptar en­ca­be­za­dos y el texto principal y su im­ple­me­n­ta­ción es parecida a como se usaban las unidades rem en las media queries, ya que ambas unidades de medida son relativas. La siguiente figura muestra cómo crear un texto principal (p) y unos en­ca­be­za­dos (h1, h2, h3) re­s­po­n­si­vos:

p {font-size: 2vmin;}
h1 {font-size: 5vw;}
h2 {font-size: 4vh;}
h3 {font-size: 3vmin;}

Mediante la regla font-size: 2vmin se determina que las letras del texto principal (p) siempre supongan un 2 por ciento del ancho o alto de ventana (de­pe­n­die­n­do de cuál sea el valor más bajo). De esta manera, nos ase­gu­ra­mos de que la letra mantenga la misma pro­po­r­ción también en los encuadres más pequeños.

  • En el primer en­ca­be­za­do (h1), el tamaño supone siempre un 5 por ciento del ancho de la ventana (font-size: 5vw).
  • En el segundo (h2), en cambio, supone siempre un 4 por ciento de la altura de la ventana (font-size: 4vh).
  • El tercer en­ca­be­za­do (h3), al definirse con el valor 3vmin es siempre un uno por ciento más grande que la fuente del texto, al estar esta definida con el valor 2vmin.

Estas in­di­ca­cio­nes de CSS ga­ra­n­ti­zan que la fuente del texto y los tres en­ca­be­za­dos estén siempre en relación, sin importar el tamaño de la ventana del navegador.

Crea una página web
MyWebsite ahora con funciones IA
  • Creador de páginas web rápido e intuitivo
  • Imágenes y textos im­pa­c­ta­n­tes, generados en un instante
  • Dominio, SSL y buzón de correo ele­c­tró­ni­co incluidos

La im­po­r­ta­n­cia de la ti­po­gra­fía en el diseño re­s­po­n­si­vo de páginas web

Como hemos visto, es posible diseñar una ti­po­gra­fía web adaptable solo con unos pocos comandos de CSS. Pero antes de publicar una página web sería co­n­ve­nie­n­te probar el efecto de su im­ple­me­n­ta­ción en la mayor cantidad de di­s­po­si­ti­vos o de emu­la­do­res y, dado el caso, in­tro­du­cir las mejoras co­n­ve­nie­n­tes. Usar media queries o la etiqueta de CSS viewport depende en muchos casos de la situación y, en última instancia, de las pre­fe­re­n­cias in­di­vi­dua­les. Las media queries son un poco más lentas que las unidades viewport en cuanto a la velocidad de es­ca­la­ción de la fuente, pero, por el contrario, son so­po­r­ta­das por más na­ve­ga­do­res antiguos. Y usando element queries o un plugin jQuery se amplían las po­si­bi­li­da­des de generar ti­po­gra­fía web re­s­po­n­si­va. Todos estos métodos sa­ti­s­fa­cen las exi­ge­n­cias de una ti­po­gra­fía re­s­po­n­si­va que se adapte siempre al encuandre visible, lo cual depende de la mo­di­fi­ca­ción relativa del tamaño de la fuente y del in­te­r­li­nea­do, así como de la apli­ca­ción de fuentes web ve­c­to­ri­za­das. La segunda parte de nuestra serie sobre ti­po­gra­fía web en el diseño re­s­po­n­si­vo muestra dónde conseguir fuentes re­s­po­n­si­vas gratuitas y cómo anidarlas en una página web.

Ir al menú principal