DIV+CSS:页脚永远保持在页面底部
页脚永远保持在页面底部
有时候,我们用CSS创建一个高度自适应布局,如何保证页脚(footer)在内容不超过一屏的情况下始终保持在布局最下方是一个比较头疼的事。我看过一些利用绝对定位的例子,但总感觉不是那么完美,经过一下午的研究总结出一个利用负值外补丁的方法来实现这个效果的方法,兼容IE5.0 ,Opera 8.5 ,Firefox 1.5 。下面我们看步骤:
1、为了让浏览器识别高度100%我们需要先给 html 和 body 加上一个高度值,同时清除所有元素的 margin 和 padding。经测试,html和body的 height: 100%; 等于整个浏览器窗口的总高度,无论内容是否超过一屏。而它们下一级子元素 height: 100%; 则等于第一屏的高度。是不是有点不好理解?
- * {
- 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%;
- }
下面看完整代码的运行效果:
<!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:页脚永远保持在页面底部的更多相关文章
- CSS + DIV 让页脚始终保持在页面底部
来源:David's Blog http://www.DavidQiu.com/ 文章链接:http://blog.davidqiu.com/post/2013-06-17/400517539 ...
- Sticky Footer (让页脚永远停靠在页面底部,而不是根据绝对位置)
<!doctype html><html> <head> <meta charset="UTF-8"> <meta name= ...
- css让footer永远保持在页面底部
案例1:仅仅保存在页面底部.不固定. 思路: html: <div class="body"> <header>我是头部</header> &l ...
- CSS + DIV 让页脚始终底部
一 前言 经常设计页面时用到三层DIV,头DIV与脚DIV一般固定高度,而中间层DIV根据内容的多少,高度不定,我们经常希望但内容很少时,脚DIV保持在底部,当内容很多时,脚DIV被中间内容挤到下面, ...
- 【转载自W3CPLUS】如何将页脚固定在页面底部
该文章转载自:W3CPLUS 大漠的文章 http://www.w3cplus.com/css/css-sticky-foot-at-bottom-of-the-page 以下为全文 作为一个Web的 ...
- 将HTML页面页脚固定在页面底部(多种方法实现)
当一个HTML页面中含有较少的内容时,Web页面的footer部分随着飘上来,处在页面的半腰中间,给视觉效果带来极大的影响,接下来为大家介绍下如何将页脚固定在页面底部,感兴趣的朋友可以了解下 作为一个 ...
- 如何将页脚固定在页面底部,4中方法 转载自:W3CPLUS
原博客地址:http://www.w3cplus.com/css/css-sticky-foot-at-bottom-of-the-page 作为一个Web的前端攻城师,在制作页面效果时肯定有碰到下面 ...
- div footer标签css实现位于页面底部固定
Web页面的“footer”部分随着飘上来,处在页面的半腰中间,给视觉效果带来极大的影响,让你的页面看上去很不好看,特别是现在宽屏越来越多,这种现象更是常见,本文将介绍两种解决方案,需要了解的朋友可以 ...
- html 设置页脚div一直在页面底部
先上代码 <!DOCTYPE HTML> <html lang="en" style="height: 100%; width: 100%;" ...
随机推荐
- JavaScript小知识
1.<script>标签的出现使整个页面因脚本解析.运行而出现等待: 2.合并脚本,每个 HTTP请求都会产生额外的性能负担,下载一 个 100KB 的文件比下载四个 25KB的文件要快: ...
- Oracle数据库like和not like使用
查询手机号注册的记录而不是邮箱 查询2开头的记录 select * from beyond_pay_offline where amount like '2%'
- svn的基线划分与管理
一.基线(服务端默认划分3条基线) trunk:表示开发时版本存放的目录,即在开发阶段的代码都提交到该目录上. branches:表示发布的版本存放的目录,即项目上线时发布的稳定版本存放在该目录中. ...
- Xrm.Utility.openEntityForm 时404.15 maxQueryString 错误 和 长度超过maxQueryStringLength值 错误
最近的项目里用到Xrm.Utility.openEntityForm 创建新记录时分别碰到以下错误: 以及 这两个错误都是因为想传递给表单的参数太多导致的url 查询参数太长导致的,前者是因为iis的 ...
- centos7安装openoffice
[摘要:间接登录openoffice民网下载硬件包,但跳转的页里却不停挨没有开.末了只能正在末端里干活下了: 1. 挑选得当的版本:http://www.openoffice.org/download ...
- StartFP
1.INODS执行完成时间为13:06:04分, 从日志信息无法知道STARTFP执行到哪一步 从INODS执行完成时间可知道startFp执行时间为13:06:05分开始, 执行StartFP中的e ...
- REMOVE ONCLICK DELAY ON WEBKIT FOR IPHONE
Developing on the webkit for iPhone I encountered a curious delay ononClick events. It seems that th ...
- HDU 4833 Best Financing (DP)
Best Financing Time Limit: 20000/10000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) ...
- 3.3.2 pulseIn(pin,state,timeout)
pulseIn函数用于读取引脚脉冲的时间长度,脉冲可以是HIGH或LOW.如果是HIGH,函数将先等引脚变为高电平,然后开始计时,一直到变为低电平为止.返回脉冲持续的时间长短, 单位为ms.如果超时还 ...
- JS入门之ActiveXObject对象(转载)
JS入门之ActiveXObject对象 此对象提供自动化对象的接口. function ActiveXObject(ProgID : String [, location : String] ...