CSS如何做到页面固定高度,header置顶footer固底page内容超过页面长度后可上下滚动。

页面设置100%高度,header、footer固定高度50px。效果就这样。... 页面设置100%高度,header、footer固定高度50px。
效果就这样。
展开
 我来答
c61230
2017-07-07 · TA获得超过658个赞
知道小有建树答主
回答量:601
采纳率:71%
帮助的人:146万
展开全部
<style type="text/css">
html,body{height:100%;}/*定义高度为100%*/
*{margin:0;padding:0;}
.header,.footer{width:100%;height:5%;background:#000;}/*上下高度5%;中间盒子高度90%*/
.main{overflow-y:scroll;width:100%;height:90%}  
.main p{height:1500px;width:100%;text-align:center;line-height:1500px;} 
</style>
<div class="header"></div>
<div class="main">
<p>高度1500px</p>
</div>
<div class="footer"></div>

顶部和底部高度5%;中间盒子高度90%,这样刚好100%,你内容填充到中间的盒子就行,如果需要特殊样式,顶部和底部可以用position定位,main盒子加上margin-top、margin-bottom分别等于顶部和底部的高度就行


所有div的总高度不能大于100%,不然会出现2个滚动条,因为现在的滚动条是main盒子的,如果超过100%;浏览器的滚动条也会出现

暗淡的黑
2013-07-29 · 超过17用户采纳过TA的回答
知道答主
回答量:60
采纳率:100%
帮助的人:41万
展开全部
比如你page内容定义在在css中定义为page_box,那么你就设置overflow:auto或者scroll,多出的内容便会以滑动条方式展示。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
超凡且憨厚灬饼子A
2013-07-29 · TA获得超过9400个赞
知道大有可为答主
回答量:5551
采纳率:44%
帮助的人:2387万
展开全部
overflow 让你中间内容区容器出现滚动条就行了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
遂A愿K
2013-07-29 · TA获得超过137个赞
知道答主
回答量:23
采纳率:0%
帮助的人:28.2万
展开全部
。。我感觉看了你们的就突然小白了。。
之前做过的网页我有用过 position: absolute; 用了之后它就固定不动了,你用在footer上应该就能把它固定。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
慧走得庚远
2013-07-29 · TA获得超过678个赞
知道小有建树答主
回答量:246
采纳率:0%
帮助的人:227万
展开全部

要看你想要让他怎么显示了

下面这个代码应该可以帮到你

<style>
body{ margin:0; padding:0;}
.header{ height:100px; background:#eee;}
.main{ background:#f5f5f5;height:510px; overflow:hidden;overflow-y:auto;}
.footer{ height:100px; background:#ddd;}
</style>
<div class="header">头部</div>
<div class="main">中间<br />
中间<br />
中间<br />
<br /><br /><br /><br /><br />
<br /><br /><br /><br /><br /><br />
<br /><br /><br /><br /><br /><br />
<br /><br /><br /><br /><br /><br />
<br /><br /><br /><br /><br /><br />
<br /><br /><br /><br /><br /><br />
<br /><br /><br /><br /><br /><br />中间信息
</div>
<div class="footer">底部</div>

这样写的话中间溢出的话右侧就会自动出现下拉菜单了

希望可以帮到你~~

更多追问追答
追问

整个页面设置高度为100%没法实现。类似下面图片的效果。

追答

那你的意思是不要后面有下拉菜单 要那种内容超出直接往下显示的是吧?

那要这样写:

<style>
body{ margin:0; padding:0;}
.header{ height:100px; background:#eee;}
.main{ background:#f5f5f5;height:auto !important;height:510px; min-height:510px;}
.footer{ height:100px; background:#ddd;}
</style>
<div class="header">头部</div>
<div class="main">中间<br />
中间<br />
中间<br />
<br /><br /><br /><br /><br />
<br /><br /><br /><br /><br /><br />
<br /><br /><br /><br /><br /><br />
<br /><br /><br /><br /><br /><br />
<br /><br /><br /><br /><br /><br />
<br /><br /><br /><br /><br /><br />
<br /><br /><br /><br /><br /><br />中间信息
</div>
<div class="footer">底部</div>

这样写 你看一下吧

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式