CSS - Making a div consume all available space

后端 未结 3 612
臣服心动
臣服心动 2020-12-10 02:25

All,

I have a page which is suppose to take up only the available screen space in the browser.

I have a \'top bar\' and a \'bottom bar\', both of which are f

相关标签:
3条回答
  • 2020-12-10 03:07

    Use absolute positioning on the body tag. position:absolute with zero top and bottom will "stretch" body to be the same size as the browser window. Alternatively, setting height: 100% also works but I remember it works wierd for certain old browsers.

    Then use absolute positioning on the center div, with enough top/bottom offsets to avoid your header and footer bars. The header bar is absolutely positioned with top and the fotter is absolutely positioned with bottom.

    Note: This won't work on mobile browsers. You'll need to use JS to get the window's height and manually set the center div's height.

    0 讨论(0)
  • 2020-12-10 03:27

    This demo works for me in Chrome12 but YMMV depending on which browsers you need to support. For example position:fixed does not work correctly in IE6.

    0 讨论(0)
  • 2020-12-10 03:28

    You can use relative and absolute positions. Here an example:

    css

       html,body,#wrapper {
            height:100%;
            margin:0;
            padding:0;
        }
        #wrapper {
            position:relative;
        }
    
        #top, #middle, #bottom {
            position:absolute;
        }
    
        #top {
            height:50px;
            width:100%;
            background:grey;
        }
        #middle {
            top:50px;
            bottom:50px;
            width:100%;
            background:black;
        }
        #bottom {
            bottom:0;
            height:50px;
            width:100%;
            background:grey;
        }
    

    html

    <div id="wrapper">
        <div id="top"></div>
        <div id="middle"></div>
        <div id="bottom"></div>
    </div>
    

    Demo: http://jsfiddle.net/jz4rb/4

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