I feel sorry for the people, but the only way to see this work, including IE 6 and 7, is to use tables .
Working example: here
Text "Greeble" (I really donβt know what a sinner is :): it slightly distorts the resizing, which will disappear when there are only background images in the columns.
Problems: Columns must contain something IE displays. Created by prevent the right and left columns from disappearing completely. You will need to find a way around this, possibly with a 1x1 pixel or something like that. You will always have some content - even if only 1 pixel wide - in all columns.
Relying on: Tables with an indefinite width that do the way they do. I think this is pretty reliable, tough.
Tested in: IE 5.5 and higher, Firefox
So that someone dares to do this, because the tables are evil: Find the best CSS-based solution that works in IE6 too, and I will gladly delete mine.
HTML: There is no separation between markup and CSS, without semantics, only a working prototype.
<body style="margin: 0px"> <table style="width: 100%; height: 100%" border="0" cellspacing="0" cellpadding="0"> <tr> <td style="background-color: orange; height: 50%; color: white"> Greeble top left </td> <td style="width: 960px" rowspan="2"> <div style="width: 960px; text-align: center"> I will always be 960 pixels wide </div> </td> <td style="background-color: blue; color: white"> Greeble top right </td> </tr> <tr> <td style="background-color: blue; height: 50%; color: white"> Greeble bottom left </td> <td style="background-color: green; height: 50%; color: white"> Greeble bottom right </td> </tr> </table> </body>
source share