防止fixed元素遮挡其他元素的方法

有多个页面,有的有固定的头部(设置了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遮挡了。

原文地址:https://www.cnblogs.com/jewave/p/6418941.html