有时候,我们用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"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>example 2</title><style type="text/css">/*<![CDATA[*/* { 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%;}#header { background: Green; height: 40px;}#sidebar { float: left; width: 200px; background: Gray;}#content-box { float: right; width: 570px; background: Olive;}#footer { height: 50px; background: Background; width:770px; margin: auto;}/*]]>*/</style></head>
<body><div id="wrapper"> <div id="header">此处显示 id &a
以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索浏览器
html页脚始终在底部、页脚固定在页面底部、css页脚底部 跟随滚动、页脚固定在底部、页脚固定在页面底部js,以便于您获取更多的相关知识。
时间: 2024-10-21 21:50:59