<table>
<tr>
<td> my div </td>
</tr>
</table>
you can do <div style="display: table;">
<div style="display: table-cell;
vertical-align: middle;"> my div </div>
</div>
The inline styling is just for illustrative purposes, of course.[0] http://philipwalton.github.io/solved-by-flexbox/demos/vertic...
[1] http://css-tricks.com/centering-in-the-unknown/
[2] http://gtwebdev.com/workshop/vcenter/vcenter-inline-css.php
That is, it could be read as kind of an admission of CSS's shortcomings for layout, and HTML table's relative ease for same.
Kind of like saying, "Don't use HTML tables. They are evil and you are an amateur. Use CSS instead. It is amazing and absolutely rocks. Er, BTW, if you actually want it to work, use table/table-cell properties, etc".
On the other hand support for centering vertically with auto isn't/wasn't widely supported either.
Once your website is sufficiently complex, having to trail and which td belongs to what tr in which td is a NIGHTMARE.
Don't do it people - coming from a front end developer. A backend developer has no business commenting on front end issues, just a javascript developer shouldn't really dive out advice on proper DBA procedure.
Also, I would gently recommend that asserting one's status is a poor substitute for discussion of an idea's merits. Dogmatism is always injurious.