适合浏览器窗口的高度

时间:2014-03-28 08:13:29

标签: javascript jquery html css

我希望以100%的高度实现以下布局。

enter image description here

只有内容区域应该是可滚动的,如果需要,页脚应该显示在浏览器的底部。

但经过多次尝试我得到了这个

enter image description here

使用以下代码。

html { height:100%; }
body { position:absolute; height: 100%; overflow: hidden; top:0; bottom:0; right:0; left:0; padding: 0px; margin: 0px;}

#header, #footer {
    float: left;
    width: 100%;
    /*height: 100px;*/
    background-color: #808080;
}

#wrapper {
    overflow: scroll;
    height: 100%;
    width: 999px;
    margin: auto;
}

// HTML代码

<!DOCTYPE html>

<html lang="en">
    <head>
        <meta charset="utf-8" />
        <title>Satkar Travels</title>
        <meta name="keywords" content="ltc, travel, Satkar Travels, lfc, Satkar Parivar, Satkar Holidays, Satkar Travels Gurgaon">
        <meta name="description" content="A Leader in LTC Travel.">
        <meta name="author" content="Satkar Travels">

        <link rel="stylesheet" href="StyleSheet.css" type="text/css">

    </head>
    <body>

        <div id="header">
            <br><br>
        </div>

        <div id="wrapper">
            <div id="content">
                <section>
                    <p>

                    </p>
                </section>
                <section>
                    <p>

                    </p>
                </section>
                <p>

                </p>
            </div>
        </div>

        <div id="footer">
            <br><br>
        </div>

    </body>
</html>

请帮忙 谢谢。

3 个答案:

答案 0 :(得分:1)

试试这个例子:

.header {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 50px;
  background-color:red;
}

.container {
  position: absolute;
  top: 51px;
  bottom: 51px;
  left: 50%;
  width: 900px;
  margin-left: -450px;
  overflow: auto;
  background-color: blue;
}

.footer {
  position: absolute;
  bottom: 50px;
  left: 0;
  right: 0;
  height: 50px;
  background-color:red;
}

然后这个:

<div class="header"> </div>
<div class="container"> </div>
<div class="footer"> </div>

这是一个小提琴:http://jsfiddle.net/dxL7s/

这是你需要的吗?

答案 1 :(得分:1)

只需要改变CSS。 示例:demo

应用此css:

html { height:100%; }
body { position:absolute; height: 100%; overflow-x: hidden; top:0; bottom:0; right:0; left:0; padding: 0px; margin: 0px;}

#header{
    float: left;
    width: 100%;
    /*height: 100px;*/
    background-color: #808080;

}
#footer {
    width:100%;
    position:fixed;
    bottom:0;
    left:0;
    background:#808080;
}

#wrapper {
    overflow: scroll;
    height: 100%;
    width: 999px;
    margin: auto;
}

答案 2 :(得分:0)

我会使用固定位置,在顶部和底部对齐页眉和页脚。然后保留带有margin-top的内容,使其保持在标题下方。

<强> HTML:

<header></header>
<div id="mainContent">
    Lorem ipsum
</div>
<footer></footer>

<强> CSS:

header {
    height: 50px;
    width: 100%;
    background-color: #f00;
    position: fixed;
    top: 0;
}

footer {
    height: 50px;
    width: 100%;
    background-color: #ff0;
    position: fixed;
    bottom: 0;
}

div#mainContent {
    margin-top: 60px;
}

小提琴演示:http://jsfiddle.net/w22dr/1/