This is a problem I have encountered several times over the years, and I always give up and use JavaScript to do the calculations on the page resize event. Can it be done with pure CSS?
I need to fashion a CSS layout like this:
+--------------------------- header --> +--------------------------- menu | scrollable content | ---> | | | v | v | +--------------------------- footer --> +---------------------------
A fixed-height header should stick to the top and expand horizontally to meet the rightmost edge of the window. A fixed-height footer should stick to the bottom and also expand horizontally to meet the rightmost edge of the window. A fixed-width menu should stick to the left and expand to meet header and footer. A content area should fill the remaining space. The content area may scroll, but never the page itself.