首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

HTML/CSS 佈局技巧:#nofooter padding-bottom 預留 Footer 空間防遮蓋

     編輯:程式設計綜合問答

程式碼結構分析

<div id="wapper">
  <div id="nofooter">
    <div id="header">...</div>
    <div id="content">...</div>
  </div>
  <div id="footer">...</div>
</div>

CSS 關鍵規則

#wapper { position: relative; min-height: 100%; }
#nofooter { padding-bottom: 70px; } /* 關鍵行 */
#footer { position: absolute; bottom: 0; height: 70px; width: 100%; }

原理解析

  1. #wapper 設為 relative 定位基準,並保證最小高度 100% 撐開視窗。
  2. #footer 設為 absolute; bottom: 0 固定在視窗/容器底部,高度 70px。
  3. 若 #nofooter(內容區容器)**無** padding-bottom: 70px,內容區底部會與 #footer 重疊,導致最後 70px 內容被 Footer 遮蓋不可見/不可點擊。
  4. padding-bottom: 70px 在內容區底部撐開 70px 空白區,Footer 絕對定位覆蓋此空白區,**視覺上 Footer 緊貼內容區底部,實際不遮擋內容**。

替代方案對比

方案優點缺點
padding-bottom 預留相容性極佳(IE6+)、無需 JS、結構簡單需知 Footer 固定高度
Flexbox: body{display:flex;flex-direction:column;min-height:100vh} #content{flex:1}現代、自適應高度、無需魔術數字IE10+ 部分支援、舊專案遷移成本高
Grid: body{display:grid;grid-template-rows:auto 1fr auto}最語意化、兩維佈局強IE 不支援、需 Polyfill
JS 計算高度動態調整適用動態 Footer 高度需監聽 resize、效能稍差、JS 失效時佈局崩壞

最佳實務

  • 新專案優先採用 Flexbox/Grid,配合 @supports 降級。
  • 舊專案維護沿用 padding-bottom,並將 70px 定義為 CSS 變數 --footer-h 便於維護。
  • 使用開發者工具(F12)檢查 Box Model,即可直觀看到 Padding 區域與 Footer 重疊關係。

理解「絕對定位 Footer + 內容區底部 Padding」經典模式,能快速解決固定底部導航/版權區遮蓋內容的通用問題。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved