2010-03-23 16 views
5

Esto me parece un caso de uso bastante natural, aunque no he podido encontrar nada en él:¿Es posible cambiar el tamaño del texto para que se ajuste a un div de tamaño fijo?

Supongo que tengo un div de ancho fijo que está dinámicamente poblado con algún número. ¿Cuál es la mejor manera de garantizar que los números con más dígitos tomen tamaños de fuente más pequeños para que quepan perfectamente en ese ancho fijo? ¿Hay alguna propiedad de CSS para esto, o tengo que recurrir al hackage de Javascript?

+1

caso de uso natural es colocar una barra de desplazamiento o un clip mediante desbordamiento. –

+0

si muestra un solo dígito, ninguna de esas soluciones es realmente satisfactoria – int3

Respuesta

3

No hay propiedad de CSS que ajuste automáticamente los tamaños de fuente en función de un contenedor fijo. Tendrás que recurrir a javascript.

Puede poner cada número en un tramo y recorrer cada tramo comprobando su ancho. Si el ancho es mayor que el ancho fijo, baje el tamaño de la fuente y luego compruebe el ancho nuevamente. Siga bajando el tamaño de letra hasta que el ancho del tramo sea menor que el ancho fijo.

para evitar el parpadeo, debe realizar este bucle comprobando mientras que el div fijo es visible, pero colocado fuera de la página (como "position: absolute; left: -5000px;")

Cuestiones relacionadas