Publicidad:
La Coctelera

Garbage In, Garbage Out

Diseño web, tecnología, e internet.

21 Julio 2005

Truco para trabajar con unidades relativas "em"

A través de Ovillo, una vez más, Manuel González Noriega, de Simplelógica, nos ilustra con este truco que hará la vida más fácil a aquellos que se lian con las unidades relativas em.

Dado que la mayoría de navegadores modernos tienen el tamaño por defecto de fuente de 16px, puedes definir el siguiente estilo:

body {
font-size:62.5%;
}

Con lo cuál a partir de entonces todas las medidas en em se pueden pasar a px cómodamente de esta forma:

1em => 10px
1.2em => 12px
1.5em => 15px

Aquí se puede ver la prueba que hice en Firefox 1.0.4 (a la izquierda) y Microsoft Internet Explorer 6 (a la derecha):

Imagen en la que se puede ver pantallazos de Firefox e Internet Explorer con pares de frases del mismo tamaño. La primera frase de cada par tiene un tamaño en unidades relativas (em) y la segunda en píxeles

Recordar que según el punto 3.4 de las pautas de accesibilidad de la W3C, toda página web debe tener tamaños de fuente expresados en unidades relativas:

3.4 Utilice unidades relativas en lugar de absolutas al especificar los valores en los atributos de los marcadores de lenguaje y en los valores de las propiedades de las hojas de estilo. [Prioridad 2]

Gracias de nuevo a Manuel por compartir los conocimientos que el resto absorbemos como parásitos [risa]. A ver si vuelve a poner en marcha Logicola cuanto antes.

servido por gigo 4 comentarios compártelo

4 comentarios · Escribe aquí tu comentario

stralunato

stralunato dijo

Gracias, Gigo. Una información muy, pero que muy útil.

21 Julio 2005 | 10:45 AM

Eleniel

Eleniel dijo

¿Qué pasa cuando no especificamos, como en este caso, una equivalencia? Tengo entendido que la medida «em» es relativa al tamaño de la letra «m» de la tipografía usada, pero el tamaño de dicha letra, ¿es relativa a qué? No todos lo navegadores la representan del mismo tamaño, ¿habrá forma de hacerla equivalente entre ellos (determinando su valor no en píxeles, sino en puntos, por ejemplo)?

De antemano gracias.

26 Julio 2005 | 10:34 PM

gigo

gigo dijo

La unidad em indica el número de veces que se ha de aumentar el tamaño de la letra con respecto a al tamaño del elemento que lo contiene. Si el valor por defecto del navegador definido por el usuario es 16 píxeles, entonces cualquier elemento dentro del elemento <body> tendría este tamaño:

1em = 16px
2em = 32px
0.5em = 8px

Si a su vez defines un nuevo tamaño para un elemento - por ejemplo p - que este dentro de del elemento body, el elemento hijo establece su tamaño con respecto al padre. Por ejemplo, si el tamaño definido en el navegador de nuevo es 16px:

<body style="font-size:0.5em">
  <p style="font-size:2em">
</body>

El elemento p va a tener un tamaño de 16px, no de 32px porque "hereda" el tamaño definido en el body (la mitad, 8px) y luego lo dobla (2x8=16px).

Más en la W3C CSS.

27 Julio 2005 | 12:19 AM

Martin Lopez Sanchez

Martin Lopez Sanchez dijo

Se agradece al explicacion, llevaba mucho tiempo buscando una manera de usar unidades relativas en los tamaños de letra. Si hubiera opciones de voto, un 10 ;)

26 Enero 2006 | 12:20 AM

Los comentarios están cerrados


Sobre mí

Avatar de gigo

Garbage In, Garbage Out

ver perfil »
contacto »
Desarrollador web con ganas de aprender y enseñar, porque aún queda mucho por aprender y por enseñar. Uso esta bitácora para hacer mis apuntes profesionales y de paso contribuir a ayudar a mis compañeros de, ésta, mi profesión. [guiño]

Sindicación

Fotos

gigo todavía no ha subido ninguna foto.

¡Anímale a hacerlo!

Buscar

suscríbete

Selecciona el agregador que utilices para suscribirte a este blog (también puedes obtener la URL de los feeds):

¿Qué es esto?

Crea tu blog gratis en La Coctelera