<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "<html xmlns=" xml:lang="en" lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
<title>Frames without frames - Interlocking - Can regular frames do this?</title>
<link rel="home" href="/alex/css" title="CSS Stuff index" />
<link rel="index" href="/alex/css/frames/" title="Introduction" />
<link rel="author" href="mailto:css-stuff@alex.cloudband.com" title="Email the author" />
<link rel="copyright" href=" title="Released under the Creative Commons Public Domain Licence" />
<link rel="next" href="/alex/css/frames/iframe" title="What about iframes?" />
<link rel="previous" href="/alex/css/frames/fixed" title="Using fixed rather than absolute" />
<style type="text/css">
body
{
margin: 0; /* margin and padding only necessary to cater for Mac IE5 */
padding: 0;
/*\*/ overflow: hidden; /* because Mac IE5 don't understand */
}
div
{
margin: 0;
padding: 0;
}
#content
{
position: absolute;
top: 125px;
right: 305px;
bottom: 0px;
left: 155px;
margin: 125px 305px 5px 20px;
margin: 0;
overflow: auto;
}
#sidebar-left
{
position: absolute;
top: 125px;
bottom: 0px;
left: 0px;
width: 150px;
}
#sidebar-right
{
position: absolute;
top: 125px;
right: 125px;
bottom: 0px;
width: 170px;
}
#header
{
position: absolute;
top: 0;
/*\*/right: 0;
left: 0px; /* Exclude right and left props for Mac IE5 */
margin: 0 0 0 155px;
/*\*/ margin: 0; /* */
height: 120px;
}
#footer
{
/*\*/ position: absolute; /* Exclude for Mac IE5 */
right: 305px;
bottom: 0;
left: 0;
height: 100px;
margin: 0 305px 0 0; /* Cater for Mac IE5 */
/*\*/ margin: 0; /* Put back for all the rest */
}
#footer h4
{
position: absolute;
bottom: 0;
width: 100%;
margin: 0;
padding: 0;
}
</style>
<!--[if IE]>
<style type="text/css" media="screen">
/* let the IE expressions commence */
#sidebar-left
{
height: expression(document.body.clientHeight- (100 + 5) + "px");
}
#sidebar-right
{
height: expression(document.body.clientHeight- (120 + 5) + "px");
}
#content
{
height: expression(document.body.clientHeight - (100 + 120 + (2 * 5)) + "px");
width: expression(document.body.clientWidth - (150 + 300 + (2 * 5)) + "px");
}
/* mysterious -5px required to compensate for the scrollbar's presence - or something. other values may be necessary in different situations */
#header
{
width: expression(document.body.clientWidth - (150 + (2 * 5) - 5) + "px");
}
#footer
{
width: expression(document.body.clientWidth - (300 + (2 * 5) - 5) + "px");
}
</style>
<![endif]-->
<style type="text/css">
/* settings for appearance alone */
body { background: #666666; }
#content { background: #cccccc; }
#sidebar-left { background: #cc9999; }
#sidebar-right { background: #ffcc99; }
#header { background: #9999cc; }
#footer { background: #99cc99; }
#footer h4 { background: #ccffcc; }
/* convenience div for padding inside positioned divs */
div.paddingwrap
{
margin: 0;
padding: 1em;
}
p, h1, h2, h4, li
{
margin: 0;
padding: 0;
}
h3
{
margin: 1em 0 0 0;
}
ol
{
margin: 0 0 2em 1em;
padding: 0;
}
code
{
display: block;
background-color: #dddddd;
}
</style>
</head>
<body>
<div id="content">
<div class="paddingwrap">
<p>No, they can't.</p>
<h3>Interlocking framework</h3>
<p>Works as described in the <a href="/alex/css/frames">introduction</a> - the expressions for IE are listed below:</p>
<p><code>#sidebar-left<br />
{<br />
height: expression(document.body.clientHeight- (100 + 5) + "px");<br />
}<br />
#sidebar-right<br />
{<br />
height: expression(document.body.clientHeight- (120 + 5) + "px");<br />
}<br />
#content<br />
{<br />
height: expression(document.body.clientHeight - (100 + 120 + (2 * 5)) + "px");<br />
width: expression(document.body.clientWidth - (150 + 300 + (2 * 5)) + "px");<br />
}<br />
/* mysterious -5px required to compensate for the scrollbar's presence - or something. other values may be necessary in different situations */<br />
#header<br />
{<br />
width: expression(document.body.clientWidth - (150 + (2 * 5) - 5) + "px");<br />
}<br />
#footer<br />
{<br />
width: expression(document.body.clientWidth - (300 + (2 * 5) - 5) + "px");<br />
}</code></p>
<p>A mysterious 5 pixels must be added to the horizontal widths in IE - mysterious because it's not in any way obviously related to the scrollbar width (and why should it be?)</p>
<h3>Interlocking Compatibility</h3>
<p>Works in IE6, IE5.5, IE5.01, Firefox 0.8, Mozilla 1.6, Safari 1.1, Opera 7.5, Opera 7.23</p>
<p>Degrades acceptably in Mac IE5</p>
<h3>Content is king</h3>
<p>Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king.</p>
<p>Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king.</p>
<p>Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king.</p>
<p>Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king.</p>
<p>Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king.</p>
<h2>END CONTENT</h2>
</div><!-- close div.paddingwrap -->
</div><!-- close div#content -->
<div id="sidebar-left">
<div class="paddingwrap">
<ol>
<li><a href="/alex/css/frames/">Introduction</a></li>
<li><a href="/alex/css/frames/pixels">Basic layout</a></li>
<li><a href="/alex/css/frames/ems">Using ems</a></li>
<li><a href="/alex/css/frames/percent">Using percentages</a></li>
<li><a href="/alex/css/frames/fixed">Using fixed rather than absolute</a></li>
<li><strong>Interlocking - Can regular frames do this?</strong></li>
<li><a href="/alex/css/frames/iframe">What about iframes?</a></li>
<li><a href="/alex/css/frames/scalable">Scalable with centered header and footer</a></li>
<li><a href="/alex/css/frames/scalable/reprise">Scalable with centered header and footer (and no expressions) - a reprise</a></li>
<li><a href="/alex/css/frames/scalablefixed">Scalable again - but fixed</a></li>
</ol>
<h2>END LEFT</h2>
</div><!-- close div.paddingwrap -->
</div><!-- close div#sidebar-left -->
<div id="sidebar-right">
<div class="paddingwrap">
<p><a href=" right frame of mind</a></p>
<p><a href=" a frame up</a></p>
<p><a href=" Frame Problem</a></p>
<p><a href=" spark of heavenly flame, Quit, oh! quit this mortal frame</a></p>
<p><a href=" frames, fatal frames, they can play hideous tricks on the brain</a></p>
<br />
<p>We now return you to your regularly scheduled filler text:</p>
</div><!-- close div.paddingwrap -->
</div><!-- close div#sidebar-right -->
<div id="header">
<h1>Frames without frames</h1>
<h2>Interlocking - Can regular frames do this?</h2>
</div><!-- close div#header -->
</body>
</html>
I have this page, it looks fine in Firefox, but in IE then content div (grey box) dos not reach the bottom of the screen. Can anyone help sort this out.
Regards, Taha
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "<html xmlns=" xml:lang="en" lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
<title>Frames without frames - Interlocking - Can regular frames do this?</title>
<link rel="home" href="/alex/css" title="CSS Stuff index" />
<link rel="index" href="/alex/css/frames/" title="Introduction" />
<link rel="author" href="mailto:css-stuff@alex.cloudband.com" title="Email the author" />
<link rel="copyright" href=" title="Released under the Creative Commons Public Domain Licence" />
<link rel="next" href="/alex/css/frames/iframe" title="What about iframes?" />
<link rel="previous" href="/alex/css/frames/fixed" title="Using fixed rather than absolute" />
<style type="text/css">
body
{
margin: 0; /* margin and padding only necessary to cater for Mac IE5 */
padding: 0;
/*\*/ overflow: hidden; /* because Mac IE5 don't understand */
}
div
{
margin: 0;
padding: 0;
}
#content
{
position: absolute;
top: 125px;
right: 305px;
bottom: 0px;
left: 155px;
margin: 125px 305px 5px 20px;
margin: 0;
overflow: auto;
}
#sidebar-left
{
position: absolute;
top: 125px;
bottom: 0px;
left: 0px;
width: 150px;
}
#sidebar-right
{
position: absolute;
top: 125px;
right: 125px;
bottom: 0px;
width: 170px;
}
#header
{
position: absolute;
top: 0;
/*\*/right: 0;
left: 0px; /* Exclude right and left props for Mac IE5 */
margin: 0 0 0 155px;
/*\*/ margin: 0; /* */
height: 120px;
}
#footer
{
/*\*/ position: absolute; /* Exclude for Mac IE5 */
right: 305px;
bottom: 0;
left: 0;
height: 100px;
margin: 0 305px 0 0; /* Cater for Mac IE5 */
/*\*/ margin: 0; /* Put back for all the rest */
}
#footer h4
{
position: absolute;
bottom: 0;
width: 100%;
margin: 0;
padding: 0;
}
</style>
<!--[if IE]>
<style type="text/css" media="screen">
/* let the IE expressions commence */
#sidebar-left
{
height: expression(document.body.clientHeight- (100 + 5) + "px");
}
#sidebar-right
{
height: expression(document.body.clientHeight- (120 + 5) + "px");
}
#content
{
height: expression(document.body.clientHeight - (100 + 120 + (2 * 5)) + "px");
width: expression(document.body.clientWidth - (150 + 300 + (2 * 5)) + "px");
}
/* mysterious -5px required to compensate for the scrollbar's presence - or something. other values may be necessary in different situations */
#header
{
width: expression(document.body.clientWidth - (150 + (2 * 5) - 5) + "px");
}
#footer
{
width: expression(document.body.clientWidth - (300 + (2 * 5) - 5) + "px");
}
</style>
<![endif]-->
<style type="text/css">
/* settings for appearance alone */
body { background: #666666; }
#content { background: #cccccc; }
#sidebar-left { background: #cc9999; }
#sidebar-right { background: #ffcc99; }
#header { background: #9999cc; }
#footer { background: #99cc99; }
#footer h4 { background: #ccffcc; }
/* convenience div for padding inside positioned divs */
div.paddingwrap
{
margin: 0;
padding: 1em;
}
p, h1, h2, h4, li
{
margin: 0;
padding: 0;
}
h3
{
margin: 1em 0 0 0;
}
ol
{
margin: 0 0 2em 1em;
padding: 0;
}
code
{
display: block;
background-color: #dddddd;
}
</style>
</head>
<body>
<div id="content">
<div class="paddingwrap">
<p>No, they can't.</p>
<h3>Interlocking framework</h3>
<p>Works as described in the <a href="/alex/css/frames">introduction</a> - the expressions for IE are listed below:</p>
<p><code>#sidebar-left<br />
{<br />
height: expression(document.body.clientHeight- (100 + 5) + "px");<br />
}<br />
#sidebar-right<br />
{<br />
height: expression(document.body.clientHeight- (120 + 5) + "px");<br />
}<br />
#content<br />
{<br />
height: expression(document.body.clientHeight - (100 + 120 + (2 * 5)) + "px");<br />
width: expression(document.body.clientWidth - (150 + 300 + (2 * 5)) + "px");<br />
}<br />
/* mysterious -5px required to compensate for the scrollbar's presence - or something. other values may be necessary in different situations */<br />
#header<br />
{<br />
width: expression(document.body.clientWidth - (150 + (2 * 5) - 5) + "px");<br />
}<br />
#footer<br />
{<br />
width: expression(document.body.clientWidth - (300 + (2 * 5) - 5) + "px");<br />
}</code></p>
<p>A mysterious 5 pixels must be added to the horizontal widths in IE - mysterious because it's not in any way obviously related to the scrollbar width (and why should it be?)</p>
<h3>Interlocking Compatibility</h3>
<p>Works in IE6, IE5.5, IE5.01, Firefox 0.8, Mozilla 1.6, Safari 1.1, Opera 7.5, Opera 7.23</p>
<p>Degrades acceptably in Mac IE5</p>
<h3>Content is king</h3>
<p>Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king.</p>
<p>Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king.</p>
<p>Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king.</p>
<p>Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king.</p>
<p>Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king. Content is king.</p>
<h2>END CONTENT</h2>
</div><!-- close div.paddingwrap -->
</div><!-- close div#content -->
<div id="sidebar-left">
<div class="paddingwrap">
<ol>
<li><a href="/alex/css/frames/">Introduction</a></li>
<li><a href="/alex/css/frames/pixels">Basic layout</a></li>
<li><a href="/alex/css/frames/ems">Using ems</a></li>
<li><a href="/alex/css/frames/percent">Using percentages</a></li>
<li><a href="/alex/css/frames/fixed">Using fixed rather than absolute</a></li>
<li><strong>Interlocking - Can regular frames do this?</strong></li>
<li><a href="/alex/css/frames/iframe">What about iframes?</a></li>
<li><a href="/alex/css/frames/scalable">Scalable with centered header and footer</a></li>
<li><a href="/alex/css/frames/scalable/reprise">Scalable with centered header and footer (and no expressions) - a reprise</a></li>
<li><a href="/alex/css/frames/scalablefixed">Scalable again - but fixed</a></li>
</ol>
<h2>END LEFT</h2>
</div><!-- close div.paddingwrap -->
</div><!-- close div#sidebar-left -->
<div id="sidebar-right">
<div class="paddingwrap">
<p><a href=" right frame of mind</a></p>
<p><a href=" a frame up</a></p>
<p><a href=" Frame Problem</a></p>
<p><a href=" spark of heavenly flame, Quit, oh! quit this mortal frame</a></p>
<p><a href=" frames, fatal frames, they can play hideous tricks on the brain</a></p>
<br />
<p>We now return you to your regularly scheduled filler text:</p>
</div><!-- close div.paddingwrap -->
</div><!-- close div#sidebar-right -->
<div id="header">
<h1>Frames without frames</h1>
<h2>Interlocking - Can regular frames do this?</h2>
</div><!-- close div#header -->
</body>
</html>
I have this page, it looks fine in Firefox, but in IE then content div (grey box) dos not reach the bottom of the screen. Can anyone help sort this out.
Regards, Taha