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.

Share:
10,580
Devin
Author by

Devin

Updated on June 04, 2022

Comments

  • Devin
    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.

    alt text

    (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
    Devin almost 15 years
    The 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
    jrista almost 15 years
    There 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
    Devin almost 15 years
    This 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.