Webpage: Multiple scroll areas with variable height

后端 未结 2 739
名媛妹妹
名媛妹妹 2021-02-01 11:25

I want to create a html page with a header of fixed height, a middle part with variable height and a footer with fixed height. The footer and the header shall not move when scro

相关标签:
2条回答
  • 2021-02-01 11:49

    I've tested this in IE7/8 (not 6!) and recent versions of: Firefox, Chrome, Opera.

    Live Demo (complete with boring colours)

    The HTML is very simple:

    <div id="header">header</div>
    
    <div id="middle">
        <div id="left">left</div>
        <div id="right">right</div>
    </div>
    
    <div id="footer">footer</div>
    

    On the other hand, the CSS is a bit more complicated:

    html, body {
        margin: 0; padding:0; border: 0;
        overflow: hidden
    }
    #header, #middle, #footer {
        position: absolute;
        width: 100%
    }
    #header {
        background: #777;
        height: 150px;
        top: 0
    }
    #middle {
        background: #f00;
        top: 150px;
        bottom: 150px
    }
    #footer {
        background: #777;
        height: 150px;
        bottom: 0
    }
    #left, #right {
        overflow-y: scroll
    }
    #left {
        background: #aaa;
        position: absolute;
        left: 0;
        top: 0;
        width: 50%;
        height: 100%
    }
    #right {
        background: #999;
        position: absolute;
        left: 50%;
        top: 0;
        float: right;
        width: 50%;
        height: 100%
    }
    

    I will explain how the CSS works if you ask me to.

    0 讨论(0)
  • 2021-02-01 12:04

    Try using percentages on divs (and leave out the table). For example, you might set a header at height: 20%, and two middle scrolling divs at height: 70%; width: 50%; float:left;. This leaves the footer div at height: 10%. Changing the contents of the middle divs via ajax shouldn't change their height. But of course, this provides a variable, not fixed, header and footer.

    note: these numbers are just for illustrative purposes. You'll need to adjust them, including padding/margins, which are not accounted for.

    0 讨论(0)
提交回复
热议问题