Hey,
I have a site I am developing. Naturally the code seems to work fine in all browsers except IE.
There seems to be a peculiar gap in the top potion of the page. I have attached a screen shot that illustrates the issue.
The html code is here:
<body class="thrColFixHdr">
<div id="container">
<div id="topHeader"></div>
<div id="sidebar1" >
<div id="sidebar2">
<div id="header"></div>
<div id="menuContainer">
<div id="menu">
<div id="menuLeft"></div>
<div id="menuRight"></div>
<!-- end #menu --></div>
<!-- end #menuContainer --></div>
<div id="featureContainer"><!-- end #featureContainer --></div>
<div id="featureBottomContainer"><!-- end #featureBottomContainer --></div>
<div id="mainContent"><!-- end #mainContent --></div>
<div id="footer"><!-- end #footer --></div>
<!-- end #sidebar2 --></div>
<!-- end #sidebar1 --></div>
<!-- This clearing element should immediately follow the #mainContent div in order to force the #container div to contain all child floats --><br class="clearfloat" />
<div id="subfooter"></div>
<!-- end #container --></div>
</body>
And the CSS is here:
.thrColFixHdr #container {
width: 989px ; /* was 1073 */
margin: 15px auto; /* the auto margins (in conjunction with a width) center the page */
text-align: left; /* this overrides the text-align: center on the body element. */
}
.thrColFixHdr #topHeader {
background-image:url(../images/headerTopShadowBG.png);
background-repeat:no-repeat;
height:8px;
float: left; /* since this element is floated, a width must be given */
width: 989px; /* the actual width of this div, in standards-compliant browsers, or standards mode in Internet Explorer will include the padding and border in addition to the width */
}
.thrColFixHdr #sidebar1 {
background-image:url(../images/borderShadowLeft.png);
background-repeat:repeat-y;
background-position:left;
float: left; /* since this element is floated, a width must be given */
width: 989px; /* the actual width of this div, in standards-compliant browsers, or standards mode in Internet Explorer will include the padding and border in addition to the width */
position:relative;
}
.thrColFixHdr #sidebar2 {
background-image:url(../images/borderShadowRight.png);
background-repeat:repeat-y;
background-position:right;
float: right; /* since this element is floated, a width must be given */
width: 973px; /* was 1020px*/
}
.thrColFixHdr #header {
background-image:url(../images/headerBG.gif);
background-position:top;
width:957px; /* was 965 */
height:127px;
}
.thrColFixHdr #menu {
background-image:url(../images/menuBG.png);
background-repeat:repeat-x;
height:33px;
width:951px; /* was 965 */
margin: 0px 3px;
}
.thrColFixHdr #menuContainer {
background-color:#FFFFFF;
width:957px; /* was 965 */
}
.thrColFixHdr #menuLeft { position:relative;
width:645px;
float:left;
padding: 0 20px 0 10px; /* this padding matches the left alignment of the elements in the divs that appear beneath it. If an image is used in the #header instead of text, you may want to remove the padding. */
margin: 0 0;
}
.thrColFixHdr #menuRight {
float:left;
padding: 5px 0 0 0; /* this padding matches the left alignment of the elements in the divs that appear beneath it. If an image is used in the #header instead of text, you may want to remove the padding. */
margin: 0 0;
}
.thrColFixHdr #featureContainer {
background-image:url(../images/featureBG.png);
background-repeat:repeat-x;
width:957px;
height:307px;
}
.thrColFixHdr #featureBottomContainer {
background-image:url(../images/featureBGBottom.png);
background-repeat:no-repeat;
width:957px;
height:12px;
}
.thrColFixHdr #mainContent {
width:957px;
}
.thrColFixHdr #footer {
background-image:url(../images/footerBG.jpg);
background-repeat:repeat-x;
background-color:#ffcc33; /*#043571 */
min-height:225px;
width:957px;
}
.thrColFixHdr #subfooter {
background-image:url(../images/footerBottomShadowBG.png);
background-repeat:no-repeat;
height:8px;
float: left; /* since this element is floated, a width must be given */
width: 989px; /* the actual width of this div, in standards-compliant browsers, or standards mode in Internet Explorer will include the padding and border in addition to the width */
}
.thrColFixHdr #footer p {
margin: 0; /* zeroing the margins of the first element in the footer will avoid the possibility of margin collapse - a space between divs */
padding: 0; /* zeroing the margins of the first element in the footer will avoid the possibility of margin collapse - a space between divs */
}
.fltrt { /* this class can be used to float an element right in your page. The floated element must precede the element it should be next to on the page. */
float: right;
margin-left: 8px;
}
.fltlft { /* this class can be used to float an element left in your page */
float: left;
margin-right: 8px;
}
.clearfloat { /* this class should be placed on a div or break element and should be the final element before the close of a container that should fully contain a float */
clear:both;
height:0;
font-size: 1px;
line-height: 0px;
}
I realize I am trying something out of the ordinary wrapping and rewrapping code in order to keeps the side elements snug to the main body elements. If there is a different approach to it - I’m all ears.
Any help is appreciated.
Thanks!