Tema: em o px
Ver Mensaje Individual
  #3 (permalink)  
Antiguo 09/09/2010, 08:05
kseso?
Colaborador
 
Fecha de Ingreso: junio-2007
Mensajes: 5.798
Antigüedad: 16 años, 10 meses
Puntos: 539
Respuesta: em o px

Si se me permite soltar mi rollo, yo lo enfocaré más al aspecto técnico y propio de css y no tanto a otras cuestiones o recomendaciones para su uso (muy importantes).

Cuando se declara el valor de /font-size/ en cualquiera de los valores permitidos (absoluto | tamaño-relativo | medida | porcentaje | inherit) y las unidades a ellos asociadas, hay que tener presente cuál es el referente sobre el que se calcula.

Centrándonos en los que plantea, em o px, la diferencia estriba en:
Px: El referente para su cálculo es el pixel de cada pantalla, en función de las características técnicas y la resolución elegida. Usted declara un valor absoluto, y el agente de usuario representará con ese valor el texto. Aunque es un valor considerado como absoluto, tenga presente que de pantalla a pantalla puede haber una diferencia de tamaño al mostrarlo (por la resolución de cada una). No es lo mismo una pantalla de 22'' con una resolución de 800x600 que 1280x800 que...

Em: el referente o unidad para su obtener el valor computado (el calculado con el que se representará el texto) es el tamaño de la letra /m/ (en px) que el usuario haya definido en las preferencias al configurar el navegador. Y aunque el valor final se expresará en píxeles, los porqué de ese valor es algo tan aleatorio e indefinido como los gustos o necesidades de cada persona.

Se lo ejemplifico:
Yo uso varios navegadores (y creo que no soy una excepción). Pero en la configuración tengo valores distintos para el tamaño y la fuente de la tipografía predeterminada.
Así, en ff tengo Verdana y 14px. En ie arial y 16, en chrome creo que helvética y 15...

Por lo anterior, cuando visito una página que su h1 tiene un tamaño de 2em, se traduce que en ff lo veo a 28px, en ie a 32px, chrome 30...

Así que respondiendo a su pregunta final, todas esas equivalencias que encontrará entre px y em (Xpx = 0.xem) son méramente orientativas, nunca las tome como exactas*. Siguiendo en mi caso, calcule ahora los valores computados para sus 0.69em en cada uno de ellos. Sin entrar en la gestión del redondeo de los decimales.
Tampoco entramos hoy (no se ha planteado) en otra propiedad: 'font-size-adjust'


*: a no ser que se haga "trampa". Una muy habitual es definir un tamaño de la fuente del body en px, y a partir de ahí ya tiene todas esas equivalencias y un control del tamaño. Pero quien hace eso sólo pervierte y anula la razón de ser del valor /em/. Ya no es el usuario quien fija su equivalencia en px.