Even with the most powerful CSS methods, you simply cannot completely separate the structure of the HTML from the layouting.
It's better to give up on this ideal right from the beginning than to build something that ends up getting complicated with work-arounds and edge-cases.
It's better to give up on this ideal right from the beginning than to build something that ends up getting complicated with work-arounds and edge-cases.