CSS: herencia de font-family en controles

escrito el 13 de Julio de 2009 por Sebastián Veggiani

Debo reconocer que en mis más de 10 años de experiencia en desarrollo web vengo recién a ser consciente de esto y me siento hasta un poco avergonzado. Pero quiero aprovechar que me he desburrado para compartir este conocimiento con quienes aún no lo tengan bien claro (si es que quedara alguien).

El problema

Examinando algunos formularios de una aplicación que estamos desarrollando me di cuenta de que la propiedad font-family no es heredada por los elementos input, textarea por defecto, sino que el navegador utiliza la fuente que tiene asignada en su configuración para texto proporcional o texto monoespaciado. Esto ocurre aunque en el body hayamos seteado alguna familia en particular.

Se me ocurre que no conocía esto hasta ahora porque, a menudo, he seteado exclusivamente para estos elementos la propiedad font-family sin tener en cuenta que no era heredada de elementos padre superiores.

Un ejemplo práctico

Supongamos que definimos en la hoja de estilos de nuestra página la siguientes propiedades para el elemento body:

body { font: 62.5%/1.6 "Trebuchet Ms", Arial, Helvetica, sans-serif; background-color: #fff; }

Podemos ver que Firefox 3.5 en Windows interpreta y renderiza el control con la fuente MS Shell Dlg (click en la imagen para verla más grande):

post_fontfamily_inheritance_ff35_small

De la misma manera vemos que en Internet Explorer 7 el navegador decide que va a mostrar el control utilizando Arial en lugar de heredar lo que hemos seteado en para el body:

post_fontfamily_inheritance_ie7_small

La solución

Por suerte la solución que he encontrado es muy sencilla. Se trata de forzar en la propiedad CSS que el elemento herede la fuente que se ha seteado para sus padres, en este caso el body:

input { font-family: inherit; } textarea { font-family: inherit; }

Y eso es todo. Espero que les resulte de utilidad a aquellos que se han pasado horas luchando con algún formulario porque la fuente se veía “rara” o no lograban los resultados esperados.

Nota: Es importante aclarar que no he probado todavía que ocurre en Opera o Safari pero me imagino que ocurre exactamente lo mismo. Cuando pueda hacer la prueba actualizaré este post con los resultados.

Un comentario en este artículo

Buen dato!

(aunque la imagen no se agranda si le hago click )

en fin saludos desde buenos aires !!!

nico – estado digital

nico
#1 Escrito el 15 de Julio de 2009 a las 3:40 pm.

Deja una respuesta

XHTML: Puede usar las siguientes etiquetas, si sabe cómo:

nuestra mirada sobre el desarrollo web, noticias de envero y otras cosas que queremos compartir…

archivo