有多個頁面,有的有固定的頭部(設置了postion:fixed的元素),有的沒有固定的頭部,這時就有個問題,有固定頭部的頁面,頭部會遮擋下面的內容,那怎么解決呢?
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <title>防止fixed元素遮擋其他元素的方法</title> <style> * { margin: 0; padding: 0; } body { height: 3333px; } .fixedtop { margin-top: 50px; } .fixedtop header { position: fixed; left: 0; top: 0; height: 50px; overflow: hidden; width: 100%; background: blue; } .fixedbottom { margin-bottom:50px; } .fixedbottom footer { position: fixed; left: 0; bottom: 0; height: 50px; overflow: hidden; width: 100%; background: blue; } </style> </head> <body> <div class="fixedtop"> <header></header> </div> <h1>1</h1> <p>222</p> <pre> 33 test </pre> <div class="fixedbottom"> <footer></footer> </div> </body> </html>
這樣,頭部下面的元素h1不用額外設置margin-top,而且由於header外層新增了div.fixedtop,從而實現h1不會被header遮擋了。