Hola
Bueno, revisando la recomendación de las css, vemos aquí:
http://www.w3.org/TR/CSS2/syndata.html#length-units
que tiene un comportamiento curiosos o especial justo cuando se utiliza en el font-size.
Si revisamos el párrafo relativo a los tamaños de fuente aquí:
http://www.w3.org/TR/CSS2/fonts.html#propdef-font-size
vemos que los hijos heredan los valores de los padres, así que elprimer elemento para el que definamos el tamaño ed letra, se convertirá en el padre, al menos en lo que se refiere a esa propiedad.
Pero si lo ponemos más claro.
Supongamos este ejemplo:
definimos un etilo para el body, usando la unidad 'em' y luego creamos un estilo con la misma definición.
Luego dos párrafos, uno sin estilos de ningún tipo y otro al que le aplicamos el segundo estilo que habismoa creado.
Al cargar la página, se verán igual, pero si en explorer aumentamos o reducimos el tamaño de visualización de la letra (ver > tamaño del texto > alguna opción), veremos que el segundo párrafo es más grande que el primero (o más pequeño si reducimos la visualización).
Esta diferencia se debe a varias cosas.
Primero, a que la unidad 'em', requiere la definición de un tipo de letra debido a que no tiene el mismo tamaño la dimensión de '1 em' de una Verdana que el de una Futura compacta.
Segundo, a que pese a que la herencia de los valores suele ser de los valores calculados por el navegador, los elementos hijo heredan los valores no modificados del padre.
Tercero, el manejo que hace el explorer para aumentar o reducir el texto, se basa en el uso de los valores relativos de la propiedad font-size smaller y larger. Aunque sus límites son los viejos valores que van del 1 al 7.
Cuarto, el valor 'em' siempre 'pregunta' al padre que tamaño tiene para definirse a si mismo, por lo tanto, hayque ser cuidadoso con las definiciones que lo utilizan. Es el problema de los valores relativos. Esto va unido con lo primero.
Así que concluyendo, podemos decir que es una unidad de medida un poco extraña y poco amigable de utilizar. Depende de muchos factores para que se representa como queremos y parte de esos factores son incontrolables por el autor de las páginas debido a que son parte de los navegadores.
Además, este tema ha generado muchas líneas en foros, tanto de css, como de navegadores específicos.
Por cierto, el ejemplito que mencionaba, es esto:
para los estilos:
body {
font-size: 1em;
}
.tamanoem {
font-size: 1em;
}
y para el código html, algo así:
<p>este es el primer texto del documento, no tiene modificadores de ningún tipo</p>
<p class="tamanoem">este es el primer texto del documento, este texto tiene el tamaño 1 em asignado por una clase</p>
la primera parte del párrafo está repetida para que sea más fácil hacer la comparación.
Espero haberme explicado adecuadamente.
Felicidad