最小高度100%页脚保持在底部的布局方法

2016-02-19 13:29 23 1 收藏

下面图老师小编跟大家分享最小高度100%页脚保持在底部的布局方法,一起来学习下过程究竟如何进行吧!喜欢就赶紧收藏起来哦~

【 tulaoshi.com - Web开发 】

有时候,我们用CSS创建一个高度自适应布局,如何保证页脚(footer)在内容不超过一屏的情况下始终保持在布局最下方是一个比较头疼的事。我看过一些利用绝对定位的例子,但总感觉不是那么完美,经过一下午的研究总结出一个利用负值外补丁的方法来实现这个效果的方法,兼容IE5.0+,Opera 8.5+,Firefox 1.5+。下面我们看步骤:

1、为了让浏览器识别高度100%我们需要先给 html 和 body 加上一个高度值,同时清除所有元素的 margin 和 padding。顺便提一下,经过我的测试,html 和 body 的 height: 100%; 等于整个浏览器窗口的总高度,无论内容是否超过一屏。而它们下一级子元素 height: 100%; 则等于第一屏的高度。如何,是不是有点不好理解?

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/webkaifa/)
* {margin: 0;padding: 0;}html, body {height: 100%;}

2、因为上面提到的问题,所以为了让布局自适应高度,我们要加上 min-height: 100%;,虽然IE不支持这个属性但是IE的 height: 100%; 有同样的作用:
#wrapper {min-height: 100%;}* html #wrapper {height: 100%;}

这样,一个最简单的最小高度满一屏的自适应布局就做好了。为了便于查看,我加了一些宽度和背景色修饰,如下:
* {margin: 0;padding: 0;}html, body {height: 100%;text-align: center;font: 12px/1.4 Verdana, sans-serif;background: #f00;}#wrapper {width: 770px;min-height: 100%;background: #ccc;margin: auto;text-align: left;}* html #wrapper {height: 100%;}

1 2 3 下一页

 

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/webkaifa/)
4、为了让 footer 能够刚好在最下方,我们可以给 footer 加一个等于自身高度的上方的负边距强制把它向上推一个自身的高度,即 margin-top: -50px; 。但是这样的话当内容超过一屏我们会看到内容会盖在 footer 的上方,显然这是失败的。所以我们还要给 content-box 和 sidebar 加一个父级元素,设定它的下方内补丁等于 footer 的高度,强制把 content-box 和 sidebar 向上推一个 footer 的高度。同时,因为 content-box 和 sidebar 是浮动元素,所以我们还要让它 闭合浮动元素 。 这样就比较完美了。

#out-content {padding-bottom: 50px;}#out-content:after {  clear: both;  display: block;  font: 1px/0px serif;  content: ".";  height: 0;  visibility: hidden;}* html #out-

e type="text/css"/*![CDATA[*/* { margin: 0; padding: 0;}html, body { height: 100%; text-align: center; font: 12px/1.4 Verdana, sans-serif;}#wrapper { width: 100%; min-height: 100%; background: #ccc; margin: auto; text-align: left;}* html #wrapper { height: 100%;}#header { background: Green; height: 40px;}#out-content { padding-bottom: 50px;}#out-content:after { clear: both; display: block; font: 1px/0px serif; content: "."; height: 0; visibility: hidden;}* html #out-content { height: 1%;}#sidebar { float: left; background: Gray; margin-right: -200px; width:200px;}#content-box { float: right; width: 100%; background: Olive;}#content { margin-left: 200px;}#footer { height: 50px; background: Background; margin: -50px auto 0;}/*]]*//style/headbodydiv id="wrapper" div id="header"h3header/h3code#header {background: Green;height: 40px;}/code /div div id="out-content"div id="content-box" div id="content"h3content/h3code#content { float: right; width: 80%; background: Olive;} /code/div/divdiv id="sidebar" h3sidebar/h3 code#sidebar { float: left; width: 20%; background: Gray; }/code /div /div/divdiv id="footer" h3footer/h3 code#footer { height: 50px; background: Background; width:770px; margin: -50px auto 0; }/code /div/body/html


其他问题,如果有人希望中间两栏高度相同的话可以使用图片欺骗法,见 创建各栏同高的多栏布局。

OK,经过以上方法,这个布局应该是比较完美了。上一页 1 2 3

来源:http://www.tulaoshi.com/n/20160219/1604475.html

延伸阅读
标签: Web开发
看这个网页的底部,为什么会跑到那儿去呢?即使内容很少的情况下,它也始终在页面的底部。 否则页面底部将留下大量空白。 下面是它实现的代码: div id="wrap"     div id="main" class="clearfix"         div id="content"         /div   ...
目前有一个Excel工作表,希望在缩放Excel2010工作表的同时想设置页眉随文档一起缩放,让页眉和页脚保持100%的原始大小打印输出,可是摸索了很长时间也没有找到可行的解决方法,不知道怎么设置页眉随文档一起缩放?这个问题对于新手来说却是有点难度,我们只要在“页眉和页脚工具设计”功能区的“选项”分组中选中“随...
标签: Web开发
自适应高度的问题,采用 Div + CSS 进行三列或二列布局时,事先不知道具体高度,只能根据内容的增减自适应高度,要使两列(或三列)的高度相同,用 Table 很容易实现,但采用 Div + CSS 就显得比较麻烦了。按照一般的做法,大都采用背景图填充或 JS 脚本的方法使高度相同,但这些都不是最好的办法,我认为… 下面介绍采用“隐藏容器溢出”和“...
标签: Web开发
在前端人员之间有一个普遍存在的问题,如何让一个div的高度自动延伸到浏览窗口100%的高度。有一些不同的方法可以实现,但是,我想出了一个我个人比较喜欢的方法。今天,我将于你分享一下。 我对你是不了解的,但我试图弄明白如何让我的布局垂直拉伸到页面的100%高度,这样一个令我沮丧的问题。我想让div结构自动延伸,但是它就是不能自动...
标签: Web开发
看这个网页的底部,为什么会跑到那儿去呢?即使内容很少的情况下,它也始终在页面的底部。 否则页面底部将留下大量空白。 下面是它实现的代码: div id="wrap"     div id="main" class="clearfix"         div id="content"  &...

经验教程

834

收藏

100
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部