Aim:
| Header | |
Left | Right |
| Footer | |
copyraw
Situation<div id="container">
<div id="header"></div>
<div id="content">
<div id="left"></div>
<div id="right"></div>
<div class="push"></div>
</div>
<div id="footer"></div>
</div>
- <div id="container">
- <div id="header"></div>
- <div id="content">
- <div id="left"></div>
- <div id="right"></div>
- <div class="push"></div>
- </div>
- <div id="footer"></div>
- </div>
The header displayed fine. The left and right columns finally got them side by side. But the footer that has a background image was under the left and right columns... The main content layer was overlapping the footer. I tried various z-index's bearing in mind that the footer has to be behind because the main content had a semi-transparent layer that overlapped it half-way.
I managed to fix this by including a div push layer which clears both (even though i had clear:both on the css for my #right div layer). For some reason, it has a more forceful effect in its own separate layer.
In a joomla CMS template though, I wanted the "left" div to take over the whole page if there were no modules positioned in the "right" div. I specified width of left using PHP. This is the CSS though:
copyraw
#container {
position: relative;
}
#content {
position: relative;
top: 0;
width: 900px;
margin: 0 auto;
min-height: 500px; /* to stop footer coming up on empty pages */
background-image: url("../images/bg_contentbox.png"); /* semi transparent background */
}
#footer {
position: relative;
bottom:0;
margin:0;
padding:0;
width:100%;
height: 250px; /* height of my footer */
background-color: #8cc553;
z-index: -1;
}
#left {
float: left;
width:500px;
margin: 0;
padding: 0;
}
.push {
clear:both;
}
#right {
float:left;
width:380px;
margin: 0 0 0 20px;
padding: 0;
}
- #container {
- position: relative;
- }
- #content {
- position: relative;
- top: 0;
- width: 900px;
- margin: 0 auto;
- min-height: 500px; /* to stop footer coming up on empty pages */
- background-image: url("../images/bg_contentbox.png"); /* semi transparent background */
- }
- #footer {
- position: relative;
- bottom:0;
- margin:0;
- padding:0;
- width:100%;
- height: 250px; /* height of my footer */
- background-color: #8cc553;
- z-index: -1;
- }
- #left {
- float: left;
- width:500px;
- margin: 0;
- padding: 0;
- }
- .push {
- clear:both;
- }
- #right {
- float:left;
- width:380px;
- margin: 0 0 0 20px;
- padding: 0;
- }
Category: Cascading Stylesheets :: Article: 350



Add comment