The creators (contributors, really) of CSS very much did figure this problem out.<p>Their solution was creating a new paradigm. You need to regard it as different from display:block and display:inline in the same way that those are fundamentally different than display:table.<p>CSS is capable of supporting all sorts of display models… just wait until display:grid rolls around.