A small, but important notice about the "German way":
German way isn't visually bad, but it has one big disadvantage: I am 99 % sure, this rendering can't be done together with correct semantics. Which means there is no semantically correct or nearly correct combination of tags and CSS you can use for creating of this style. That's actually why I threw in my solution proposal, which I played with for pretty long time during which I faced these problems. (Some more info coming in following replies.)
Therefore I guess, we have to decide what to prefer: clean and reusable code or fancy visual rendering.
On the other hand I'd be so very pleased to see any correct solution of this, if it exist.
Kind regards
Danny B.