Cuando creo una tabla en html, una tabla con una anchura del 100%, si quiero que todas las celdas (tds) estén divididas en partes iguales, ¿tengo que introducir el % de anchura para cada celda? ¿Estoy "obligado" a hacerlo?
Ej:
<table cellpadding="0" cellspacing="0" width="100%" border="0">
<tr>
<td width="25%"></td>
<td width="25%"></td>
<td width="25%"></td>
<td width="25%"></td>
</tr>
</table>
O el siguiente podría ser también el procedimiento correcto, no escribir el ancho en cada tds si quiero que cada uno de ellos se divida por igual:
<table cellpadding="0" cellspacing="0" width="100%" border="0">
<tr>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
</table>
Se que funciona con ambas formas pero solo quiero saber la forma "legitima" de hacerlo.
Tienes que introducir el % de anchura de cada celda. Pero espera, hay una manera mejor de hacerlo, se llama CSS:
<style>
.equalDivide tr td { width:25%; }
</style>
<table class="equalDivide" cellpadding="0" cellspacing="0" width="100%" border="0">
<tr>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
</table>
Sí, tendrá que especificar el ancho de cada celda, de lo contrario intentará ser "inteligente" al respecto y dividirá el 100% entre las celdas que crea que más lo necesitan. Las celdas con más contenido ocuparán más ancho que las que tienen menos.
Para asegurarte de que obtienes el mismo ancho para cada celda tienes que dejarlo claro. Hazlo como ya lo has hecho o utiliza CSS.
table.className td { width: 25%; }
puedes probar esto, yo lo haría con CSS, pero creo que lo quieres con tablas sin CSS.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<body leftmargin=0 rightmargin=0>
<table cellpadding="0" cellspacing="0" width="100%" border="1" height="350px">
<tr>
<td width="25%"> </td>
<td width="25%"> </td>
<td width="25%"> </td>
<td width="25%"> </td>
</tr>
</table>
</body>
</html>