Dit is grappig

en het is ook al redelijk oud:

How is That Different from Using HTML Tables?

First and foremost, display: table is not an HTML tag, it’s a CSS display property. If you have qualms, remember that you’re not creating an actual table; you’re just applying a style. Where HTML table elements imply semantic meaning (and take too long to load, more or less throw accessibility out the window, and do very unpleasant things to search engine optimization), all we’re doing here is applying cascading style sheet rules to semantically correct HTML div elements.

It still feels like a hack

This is not a hack. There’s no reason to feel guilty about applying display: inline to create a horizontal menu from an unordered list. You’re not changing the semantic content of the list (it’s a navigation list, after all), you’re just changing its presentation. I seem to recall reading somewhere that the whole point of cascading style sheets was to separate content from presentation. Where have I read that?

Oh yeah, EVERYWHERE.

source: http://expression.microsoft.com/en-us/dd794430.aspx