防止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遮挡了。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM