Without calculating height. Strict CSS and HTML. <span/>
only for Chrome, because the chrome isn’t able change text direction for <th/>
.
th
{
vertical-align: bottom;
text-align: center;
}
th span
{
-ms-writing-mode: tb-rl;
-webkit-writing-mode: vertical-rl;
writing-mode: vertical-rl;
transform: rotate(180deg);
white-space: nowrap;
}
<table>
<tr>
<th><span>Rotated text by 90 deg.</span></th>
</tr>
</table>