CSS: min-height does not work
10,580
Fixed. It was the container div right after the body tag. Even with height CSS, it created problems. I removed it and changed a script I had from rendering in that div to the document.body and everything works now.
Author by
Devin
Updated on June 04, 2022Comments
-
Devin almost 2 years
Whenever I add the min0height property to the DIVs to make them 100%, it doesn't work. I have added them to all of the DIVs, including height: 100%; and min-height: 100%; but nothing works. What would I do to make it extend all the way? It just cuts off the background of the sidebar and the background color of the content area.
(Forgot to label a part. The content area with the white background is .col1)
CSS:
@charset "UTF-8"; /* CSS Document */ img { border-style: none; color: #FFF; text-align: center; } body { background-color:#000; margin:0; padding:0; border:0; /* This removes the border around the viewport in old versions of IE */ width:100%; } .sidebar { background-image:url(../images/sidebar/background.png); background-repeat:repeat-y; font: 12px Helvetica, Arial, Sans-Serif; color: #666; z-index:1; } .menu { background-image:url(../images/top_menu/background.png); background-repeat:repeat-x; height:25px; clear:both; float:left; width:100%; position:fixed; top:0px; z-index:5; background-color:#000; } .bottom_menu { background-image:url(../images/bottom_menu/background.png); background-repeat:repeat-x; height:20px; z-index:2; font: 12px Helvetica, Arial, Sans-Serif; clear:both; float:left; width:100%; position:fixed; bottom:0px; } .colmask { position:relative; /* This fixes the IE7 overflow hidden bug and stops the layout jumping out of place */ clear:both; float:left; width:100%; /* width of whole page */ overflow:hidden; /* This chops off any overhanging divs */ } .sidebar .colright { float:left; width:200%; position:relative; left:225px; background:#fff; } .sidebar .col1wrap { float:right; width:50%; position:relative; right:225px; } .sidebar .col1 { margin:30px 15px 0 225px; /* TOP / UNKNOWN / UNKNOWN / RIGHT */ position:relative; right:100%; overflow:hidden; } .sidebar .col2 { float:left; width:225px; position:fixed; top:0px; left:0px; margin-top:25px; margin-left:5px; right:225px; } .clear { clear: both; height: 1px; overflow: hidden; }
HTML
<body> <div id="container"> <div class="menu">Header Content</div> <div class="colmask sidebar"> <div class="colright"> <div class="col1wrap"> <div class="col1" id="contentDIV"> Content </div> </div> <div class="col2"> Sidebar Content </div> </div> </div> <div class="bottom_menu">Footer Content</div> </div> </body>
-
Devin almost 15 yearsThe only thing I don't get is that the footer and header are just floating divs. It shouldn't affect the other divs for the sidebar and content. Maybe I'm wrong, but I figured the header and footer were fine as they were.
-
jrista almost 15 yearsThere really isn't anything wrong with your header and footer the way they are......if you don't care about having a full-height content area. That sticky footer technique is the ONLY technique I know of to get a full-height content area with a footer...and I've done a TON of CSS over the many, many years I've used it (since the mid 1990's.)
-
Devin almost 15 yearsThis is going to be a web based application and unfortunately will not support IE6 at all. Too much stuff for it to handle. I realize thats a large amount of users, but how hard is it for them to get Firefox or Chrome? Takes less than 3 minutes.