文章出處
文章列表
頁腳永遠保持在頁面底部
有時候,我們用CSS創建一個高度自適應布局,如何保證頁腳(footer)在內容不超過一屏的情況下始終保持在布局最下方是一個比較頭疼的事。我看過一些利用絕對定位的例子,但總感覺不是那么完美,經過一下午的研究總結出一個利用負值外補丁的方法來實現這個效果的方法,兼容IE5.0 ,Opera 8.5 ,Firefox 1.5 。下面我們看步驟:
1、為了讓瀏覽器識別高度100%我們需要先給 html 和 body 加上一個高度值,同時清除所有元素的 margin 和 padding。經測試,html和body的 height: 100%; 等于整個瀏覽器窗口的總高度,無論內容是否超過一屏。而它們下一級子元素 height: 100%; 則等于第一屏的高度。是不是有點不好理解?
css 代碼
- * {
- margin: 0;
- padding: 0;
- }
- html, body {
- height: 100%;
- }
2、因為上面提到的問題,所以為了讓布局自適應高度,我們要加上 min-height: 100%;,雖然IE不支持這個屬性但是IE的 height: 100%; 有同樣的作用:
css 代碼
- #wrapper {
- min-height: 100%;
- }
- * html #wrapper {
- height: 100%;
- }
這樣,一個最簡單的最小高度滿一屏的自適應布局就做好了。為了便于查看,我加了一些寬度和背景色修飾,如下:
css 代碼
- * {
- 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>
文章列表
全站熱搜