- From: Axel Dahmen <brille1@hotmail.com>
- Date: Fri, 14 Mar 2014 13:47:13 +0100
- To: www-style@w3.org
I see. Thanks for enlightening me, guys (particularly to James Ross, who provided me with this sample: "http://jsfiddle.net/bqurA/1/" ). Apparently I made a mistake when giving my test case. Actually what I want to achieve is that the "main" blocks, in corporation with a number of "header" and "footer" blocks, always exactly fills the viewport. The <header> blocks are supposed to be fixed at the top of the window whereas the <footer> blocks are supposed to be fixed to the bottom of the window - regardless of their actual size. The only blocks to have scrollbars is supposed to be the <main> blocks in between. If the content of the main blocks is less than (ViewPortHeight - computed header heights - computed footer heights) then the main blocks' height is supposed to be stretched in order to fill the remaining height. If, however the sum of all the blocks (header + main + footer) is larger than ViewPortHeight, then the main blocks should shrink to fit and a scroll bar should be applied to the main blocks (and only to them): var actualContentHeight = computed main heights + computed header heights + computed footer heights; if (actualContentHeight < ViewPortHeight) for (main in mainElements) {main.height += (ViewPortHeight - actualContentHeight) / mainElements.length; main.scollBar = false;} else for (main in mainElements) {main.height -= (ViewPortHeight - actualContentHeight) / mainElements.length; main.scollBar = true;} The desired effect can't be achieved using the "position: fixed" rule, because using this rule header and footer will not take part in the flow. So the layout would look something like this: ================================= | <header> | |-------------------------------| | <main> |S| | |C| | |R| | |O| | |L| | |L| | |B| | |A| | |R| |-------------------------------| | <footer> | |-------------------------------| | <footer> | ================================= Can this be achieved using the flex layout? Unfortunately, I'm not too familiar with it yet. Regards, Axel Dahmen
Received on Friday, 14 March 2014 12:47:47 UTC