This one STILL works in IE6, Mozilla and Firefox.
Opera and NN7 fail to interpret the body size correctly.


This one works by setting ~

html {
overflow:hidden; /* gets rid of the scroll bars in IE6 */
max-height:100%; /* fixes the display height in Mozilla and Firefox */
padding:0 0 101px 0; /* for IE6 to bring the bottom of the body up to the bottom of the screen (the extra 1px is for the border) */
background:#eee; /* Mozilla has problems when the body background is different to the html background */

body {
margin:100px 0 0 150px; /* resizes the body to have a top margin of 100px and left margin of 150px; */
height:100%; /* Mozilla and Firefox interpret this as to the bottom of the screen. IE interprets this as the WHOLE screen height hence the 101px padding above. */
overflow:auto; /* to add scroll bars if required */
border-top:1px solid #000; /* to show where the body starts */
border-left:1px solid #000; /* to show where the body starts */
background:#fff; /* to show that Mozilla and Firefox will only have one background color */

Anything placed on the screen using position:absolute; will stay on the screen.

IE6 has the problem that anything placed on the screen using position:relative; will appear fixed but if the screen is scrolled and then resized the relatively positioned block will vanish.

So not too much use at the moment, unless of course your site is aimed at IE6 and Mozilla/Firefox. But once the others either catch up, or fade into the past like NN4, it could be the way forward for 'framed' sites.

Updated 14th July 2004 - Added position:fixed to the body and menu so that the latest versions of Mozilla and Firefox correctly interpret the requirements.