You don’t need that much syntax to get that end result: http://codepen.io/Merri/pen/CcLlJ
AFAIK table-cell element is automatically created if it’s omitted. Same for other missing table elements. Quite handy. Although I haven’t verified whether all browsers do follow this properly, because I don’t usually use table based layouts.