HTML:
<table>
<thead>
<tr>
<th class="from">From</th>
<th class="subject">Subject</th>
<th class="date">Date</th>
</tr>
</thead>
<tbody>
<tr>
<td>[from]</td>
<td>[subject]</td>
<td>[date]</td>
</tr>
</tbody>
</table>
CSS:
table {
width: 100%;
border: 1px solid #000;
}
th.from, th.date {
width: 15%
}
th.subject {
width: 70%; /* Not necessary, since only 70% width remains */
}
La mejor práctica es mantener su HTML y CSS separados para una menor duplicación de código y para la separación de preocupaciones (HTML para estructura y semántica, y CSS para presentación).
Tenga en cuenta que, para que esto funcione en versiones anteriores de Internet Explorer, es posible que deba asignar un ancho específico a su tabla (por ejemplo, 900 px). Ese navegador tiene algunos problemas para representar un elemento con dimensiones porcentuales si su contenedor no tiene dimensiones exactas.