页脚永远保持在页面底部

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

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

css 代码
  1. * {
  2. margin: 0;
  3. padding: 0;
  4. }
  5. html, body {
  6. height: 100%;
  7. }

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

css 代码
  1. #wrapper {
  2. min-height: 100%;
  3. }
  4. * html #wrapper {
  5. height: 100%;
  6. }

这样,一个最简单的最小高度满一屏的自适应布局就做好了。为了便于查看,我加了一些宽度和背景色修饰,如下:

css 代码
  1. * {
  2. margin: 0;
  3. padding: 0;
  4. }
  5. html, body {
  6. height: 100%;
  7. text-align: center;
  8. font: 12px/1.4 Verdana, sans-serif;
  9. background: #f00;
  10. }
  11. #wrapper {
  12. width: 770px;
  13. min-height: 100%;
  14. background: #ccc;
  15. margin: auto;
  16. text-align: left;
  17. }
  18. * html #wrapper {
  19. height: 100%;
  20. }

下面看完整代码的运行效果:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <br /><br />
<html xmlns="http://www.w3.org/1999/xhtml"> <br /><br />
<head> <br /><br />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <br /><br />
<title>DIV+CSS:页脚永远保持在页面底部 _  海波吧 _ www.haibor8.cn </title> <br /><br />
<style type="text/css"> <br /><br />
/*<![CDATA[*/ <br /><br />
* { <br /><br />
 margin: 0; <br /><br />
 padding: 0; <br /><br />
} <br /><br />
html, body { <br /><br />
 height: 100%; <br /><br />
 text-align: center; <br /><br />
 font: 12px/1.4 Verdana, sans-serif; <br /><br />
 background: #F00; <br /><br />
} <br /><br />
#wrapper { <br /><br />
 width: 770px; <br /><br />
 min-height: 100%; <br /><br />
 background: #ccc; <br /><br />
 margin: auto; <br /><br />
 text-align: left; <br /><br />
} <br /><br />
* html #wrapper { <br /><br />
 height: 100%; <br /><br />
} <br /><br />
#header { <br /><br />
 background: Green; <br /><br />
 height: 40px; <br /><br />
} <br /><br />
#sidebar { <br /><br />
 float: left; <br /><br />
 width: 200px; <br /><br />
 background: Gray; <br /><br />
} <br /><br />
#content-box { <br /><br />
 float: right; <br /><br />
 width: 570px; <br /><br />
 background: Olive; <br /><br />
} <br /><br />
#footer { <br /><br />
 height: 50px; <br /><br />
 background: Background; <br /><br />
 width:770px; <br /><br />
 margin: auto; <br /><br />
} <br /><br />
/*]]>*/ <br /><br />
</style> <br /><br />
</head> <br /><br />
<br /><br />
<body> <br /><br />
<div id="wrapper"> <br /><br />
  <div id="header">此处显示  "header" 的内容</div> <br /><br />
  <div id="content-box">此处显示  "content-box" 的内容</div> <br /><br />
  <div id="sidebar">此处显示  i"sidebar" 的内容</div> <br /><br />
</div> <br /><br />
<div id="footer">此处显示   "footer" 的内容</div> <br /><br />
</body> <br /><br />
</html>

  

DIV+CSS:页脚永远保持在页面底部的更多相关文章

  1. CSS + DIV 让页脚始终保持在页面底部

    来源:David's Blog     http://www.DavidQiu.com/ 文章链接:http://blog.davidqiu.com/post/2013-06-17/400517539 ...

  2. Sticky Footer (让页脚永远停靠在页面底部,而不是根据绝对位置)

    <!doctype html><html> <head> <meta charset="UTF-8"> <meta name= ...

  3. css让footer永远保持在页面底部

    案例1:仅仅保存在页面底部.不固定. 思路: html: <div class="body"> <header>我是头部</header> &l ...

  4. CSS + DIV 让页脚始终底部

    一 前言 经常设计页面时用到三层DIV,头DIV与脚DIV一般固定高度,而中间层DIV根据内容的多少,高度不定,我们经常希望但内容很少时,脚DIV保持在底部,当内容很多时,脚DIV被中间内容挤到下面, ...

  5. 【转载自W3CPLUS】如何将页脚固定在页面底部

    该文章转载自:W3CPLUS 大漠的文章 http://www.w3cplus.com/css/css-sticky-foot-at-bottom-of-the-page 以下为全文 作为一个Web的 ...

  6. 将HTML页面页脚固定在页面底部(多种方法实现)

    当一个HTML页面中含有较少的内容时,Web页面的footer部分随着飘上来,处在页面的半腰中间,给视觉效果带来极大的影响,接下来为大家介绍下如何将页脚固定在页面底部,感兴趣的朋友可以了解下 作为一个 ...

  7. 如何将页脚固定在页面底部,4中方法 转载自:W3CPLUS

    原博客地址:http://www.w3cplus.com/css/css-sticky-foot-at-bottom-of-the-page 作为一个Web的前端攻城师,在制作页面效果时肯定有碰到下面 ...

  8. div footer标签css实现位于页面底部固定

    Web页面的“footer”部分随着飘上来,处在页面的半腰中间,给视觉效果带来极大的影响,让你的页面看上去很不好看,特别是现在宽屏越来越多,这种现象更是常见,本文将介绍两种解决方案,需要了解的朋友可以 ...

  9. html 设置页脚div一直在页面底部

    先上代码 <!DOCTYPE HTML> <html lang="en" style="height: 100%; width: 100%;" ...

随机推荐

  1. HTTP权威协议笔记-7.缓存

    7.1 冗余的数据传输 缓存的作用:当客户端每次访问服务器,服务器都会返回一份相同文件,一些相同的字节会不断的在网络内传输,这样冗余的数据传输会耗尽昂贵的带宽,降低传输速度,加重Web服务器的负载. ...

  2. CSS 文本和表格中文字溢出显示省略号

    CSS控制文本超出指定宽度后用省略号代替,CSS控制文本不换行. 一般的文字截断(适用于内联与块): .text-overflow {     display:block;/*内联对象需加*/     ...

  3. 关于VS快捷键的使用总结

    首先快捷键是为了快,不能为了用快捷键而用快捷键. 既然说到快,我个人认为要涉及到一个使用频率问题,如果一个功能的快捷键使用频率极高,那么就应该把它调到触手可及的位置, 如:经常看别人源代码,经常会使用 ...

  4. 史航416第九次作业&总结

    一.知识点总结: 1.二维数组定义的形式:类型名 数组名[行长度] [列长度] 例如:int a[3][2]:定义一个二维数组a,3行2列,6个元素: 2.二维数组引用的形式:类型名 数组名[行下标] ...

  5. x-editable 的使用方法

    1.首先在html网页中定义一个a标签(如下<%#%>是asp.net的语法) <a href="#"  data-pk="<%#Eval(&qu ...

  6. 浅析jquery ui的datepicker组件

    今天计划在博客上添加一个日历,方便用户查看日期.Google了一圈,最终决定使用jquery ui的datepicker部件实现.原因有三:Datepicker使用配置比较简洁,几行代码就可以得到一个 ...

  7. spring整合struts2

    1. Spring 如何在 WEB 应用中使用 ? 1). 需要额外加入的 jar 包: spring-web-4.0.0.RELEASE.jarspring-webmvc-4.0.0.RELEASE ...

  8. css中clip-path属性的运用

    今天看到一位同学的需求,要在一个div中加一个小尖尖,对话时发的图片,旁边这个三角是怎么实现与图片的颜色一致,效果如下: 当然,解决这个问题有各种奇淫巧技,现在我们来看一个css属性clip-path ...

  9. JS编码解码

    一.定义和用法 encodeURI() 函数可把字符串作为 URI 进行编码. 语法 encodeURI(URIstring) 参数 描述 URIstring 必需.一个字符串,含有 URI 或其他要 ...

  10. JS产生随机一注彩票

    <!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8&qu ...