Pues de entrada dejar de usar el parámetro "width" de HTML y usar CSS mejor ... el efecto de:
Código HTML:
width="20px"
es exactamente el mismo que:
Código HTML:
style="width: 20px;"
entonces tu tag te quedaría así:
Código HTML:
<td style="width: 20px;">
ahora tratando de responder a tu pregunta, te sugiero 2 soluciones, tu decide cuál te acomoda mejor o espero que al menos te dé una idea mejor de qué hacer ...
1) Si trabajas con información dinámica puedes usar un substring y cada X número de caracteres insertar un " " o espacio normal para garantizar que se ajuste el texto además de usar anchos fijos de columna
2) La otra es igual asignar un tamaño fijo a cada columna y además agregar la propiedad "overflow-x: scroll;" con lo cual si el tamaño de la caja sobrepasa el tamaño que le definiste, te mostrará barras de desplazamiento ...
Saludos cordiales, espero te sirva de algo