I'd like to create a layout in CSS that looks something like this:
+----------------+ __5_____
| | __6_____
| | __7_____
| | __8_____
+----------------+ __9_____
___1____ __3_____ __10____
___2____ __4_____
Basically, the text (in the above diagram, the lines labelled 1 through 10) are arranged in a three-column layout, with a block (image, or whatever) sitting in the top left, occupying two columns, displacing the text.
Importantly, I'd REALLY like to avoid manually specifying where the column breaks are, because the content is user-provided. I have been using the CSS columns family of properties (column-width, column-count, etc.) to get the column layout for the text, but I'm not having much success putting the big floating block where I want. Is there a way to do this that doesn't involve a pile of JS to compute the optimal column break locations, and generating the columns myself?
Edited to add: in case it's not clear, in this example there are 10 rows but in practice I need to be able to deal with an arbitrary number of rows and still get columns of roughly equal height.