我正在尝试创建一个带有“标题”区域的布局,其中包含徽标和一些链接,然后是一个需要扩展到页面底部的内容区域。这就是我陷入困境的地方。
我用一个高度为100%的容器div包围了标题和内容,这很好用。但我不能让内容div延伸到容器div的底部,因为给它一个100%的最小高度似乎从页面主体获取高度,所以我最终得到一个滚动条由于空间由标题占据页面顶部。
这是一个线框,希望能让我想要的更清晰......
这是一个快速的CSS示例,除了总是有一个滚动条,其中看起来是标题区域的高度...
html, body {
height: 100%;
margin: 0;
padding: 0;
color: #fff;
}
body {
background-color: #000;
}
#container {
position: relative;
margin: 0 auto;
width: 1000px;
min-height: 100%;
}
#header {
padding-top: 26px;
}
#logo {
width: 194px;
height: 55px;
margin: 0 auto;
background-color: #fff;
}
#content {
margin-top: 10px;
position: absolute;
width: 1000px;
min-height: 100%;
background-color: #fff;
}
答案 0 :(得分:4)
这可以通过将标题和正文包装在div中来推送页脚
来实现的index.html
<div id="wrap">
<div id="header">
header
</div>
<div id="main">
main<br/>main<br/>main<br/>main<br/>main<br/>main<br/>
</div>
</div>
<div id="footer">
footer
</div>
的style.css
body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,input,textarea,p,blockquote,th,td {
margin:0;
padding:0;
}
#header {
border-top:20px solid #fff;
height: 33px;
line-height: 33px;
text-align: center;
background-color: green;
}
html { height: 100%; }
body { height: 100%; width: 90%; margin: auto; }
#wrap { min-height: 100%;background-color:gray;}
#main {
overflow: auto;
padding-bottom: 53px; /* must be same height as the footer */
background-color: red;
height: 90%
}
#footer {
position: relative;
margin-top: -53px; /* negative value of footer height */
height: 33px;
line-height: 33px;
border-bottom:20px solid #fff;
text-align: center;
background-color:blue;
}
答案 1 :(得分:2)
使容器div位置:relative和内容div位置:绝对。然后给内容div顶部:&lt; header height&gt;和底部:0
目前无法对此进行测试,但我认为这样的事情应该有效。
答案 2 :(得分:0)
限制: 标题高度应该是静态的,具有绝对高度。
内容高度是动态的。
CSS代码:
* {
padding:0;
margin:0;
}
html, body {
height: 100%;
color: #fff;
}
#header {
background: red;
position: absolute;
z-index:20;
height: 7em;
overflow:hidden;
width:100%;
}
#content {
background: blue;
position: absolute;
top: 0;
padding-top: 7em;
min-height: 100%;
box-sizing: border-box;
}
内容一直延伸到底部,即使文字很短。
当内容的文字长于我们的窗口高度时 - 我们会自动滚动