I use a table with a border:colapse to put border images around my blog. It has been used in a similar fashion since last fall, but with only side borders, none on top and bottom.
Recently I added extra rows to the table to add borders to the top and bottom as well as the sides. The problem is that after I added the top and bottom borders, the table no longer spans the height of my blog as it did previously. I have spent several days now trying to figure out why with no progress. the height of the table (inside top-border to bottom-border) is only 360 pixels, the exact height of my header: which is all the table height spans.
This shouldn't be because boxes are supposed to expand to the size of their content. The CSS boxes for the header, wrapper, two sidebars and main content are all inside the table. In fact all blog boxes are contained within the middle table row, yet the table only spans the header. If this is something simple I'm going to cry from embarrassment, but I can't find it.
There are three table rows, and each row has three TD columns.
Row1: [top-left border image] [top-mid border] [top-right border]
Row2: [left-side border] [entire blog content] [right-side border]
Row3: [bottom-left border image] [bottom-mid border] [bottom-right border]
The 4 corner images are a section of adjoining borders edited to meet at a 45 deg angle. This problem
can be seen on my blog. The separation between side and top borders in IE only I am not worried about and can find that later.
Page HTML
CODE
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<link rel="stylesheet" type="text/css" href="/style.css">
<link rel="stylesheet" type="text/css" href="/user_style.css">
<link rel="alternate" type="application/rss+xml" href="/rss.xml" title="RSS feed for Vista On Current Events">
<title>[$BlogTitle$] - [$PageTitle$]</title>
</head>
<body [$BodyExtra$] >
<!-- Table for blog border -->
<table align="center" class="border" cellspacing="0">
<!-- Blog top border row -->
<tr><td class="tlb"></td><td class="tb"></td><td class="trb"></td></tr>
<tr> <!-- Left blog border row -->
<td class="lb"><!-- no content--></td>
<!-- Begin blog content td cell -->
<td valign="top">
<div class="wrapper"> <!--wrapper for entire blog content -->
<div class="header">[$Header$]</div>
<div class="pageextra">[$PageExtra$]</div>
<div class="mainpage">[$Posts$]</div>
[$LeftSidebar$]
[$RightSidebar$]
</div> <!-- end wrapper -->
</td> <!-- End content td -->
<!-- Right blog border -->
<td class="rb"><!-- no content --></td>
</tr>
<!-- Bottom blog border -->
<tr><td class="blb"></td><td class="bb"></td><td class="brb"></td></tr>
</table>
</body>
</html>
Pertinent CSS
CODE
html, body, .wrapper {
width: 100%;
padding: 0;
margin: 0;
}
.header {
float: left;
width: 100%;
height: 360px;
padding: 0;
margin: 0;
text-align: left;
}
.mainpage {
width: auto;
position: absolute;
top: 370px;
left: 240px;
right: 240px;
color: #000000;
Padding: 0px;
}
.leftsidebar,
.rightsidebar {
position: absolute;
top: 370px;
padding: 0;
color: #000000;
background: #FFF;
width: 200px;
font-size: .8em;
text-align: left;
overflow: hidden;
}
.leftsidebar {
left: 40px;
border-right: 1px solid #DDD;
}
.rightsidebar {
right: 40px;
border-left: 1px solid #DDD;
}