Efectivamente no hay forma de hacerlo en en html. Pero en php si y no es tan dificil siempre y cuando el text a redimensionar no trabaje en cliente sino en el servidor. Es decir que carges el texto antes de que actue el usuario. Se podria hacer de esta manera en el caso de que lo cargues de una base de datos mysql:
Código PHP:
Ver original?>
<table>
<?php
{
$tamaño_texto=strlen($bucle['texto']; if($tamaño_text<=10){
$tamaño_texto=16;
}elseif($tamaño_texto>10 AND $tamaño_texto<=20){
$tamaño_text=14;
}
?>
<tr>
<td with="50px">
<span style="font-size:<?php echo $tamaño_texto ?>px;">
<?php
echo $bucle['texto'];
?>
</span>
</td>
</tr>
<?php
}
?>
</table>
<?php
Lo que hago en este codigo es primero de todo abrir la tabla. Luego hago la sentencia sql para recojer los datos a mostrar y lo meto en el bucle while para que se repita hasta que no queden registros. Despues utilizo la funcion php strlen que recoje el numero de caracteres de la cadena. Entonces hago un if para saber que tamaño elgir(esto no lo e concretado esto es faena tuya). Luego hago el tamaño del td que yo kiera con el correspondiente span con el tamaño variable segun tamaño. Pongo el texto a mostrar y listo ya lo tienes chico.