設置position:fixed后元素脫離標准流的解決方法


position設置為absolute和fixed都會使元素脫離標准流(設置浮動也會使元素脫離標准流),大多數情況下我們不需要考慮因為設置position屬性而導致的脫離標准流后引發的問題,但是當頁面上面的導航欄使用了position:fixed;屬性(如下圖所示)之后我們就不得不考慮這個問題了。

 

 

如果我們不去解決position:fixed;引發的問題,那么下面的圖片初始加載出來時就會位於任務欄的下方(如下圖所示)

 

 那么我們要如何解決這個問題呢?

代碼:

 <style>
        .one {
            position: fixed;
            width: 800px;
            height: 100px;
            border: 1px solid #ccc;
            background-color: pink;
        }

        .two {
            width: 1000px;
            height: 200px;
            background-color: blueviolet;
        }
    </style>
</head>

<body>
     <div class="one"></div>
    <div class="two"></div>
</body>

 

顯示:

 

 

一共有三種方法

方法一:在設置了position:fixed;的盒子外面再套一個盒子,且高度與設置此屬性的盒子一致

代碼:

 <style>
        .zero {
            width: 800px;
            height: 100px;
            background-color: purple;
            border: 1px solid #ccc;
        }

        .one {
            position: fixed;
            width: 800px;
            height: 100px;
            border: 1px solid #ccc;
            background-color: pink;
        }

        .two {
            width: 1000px;
            height: 200px;
            background-color: blueviolet;
        }
    </style>
</head>

<body>
    <div class="zero">
        <div class="one"></div>
    </div>
    <div class="two"></div>
</body>

顯示:

 

 方法二:在設置了該屬性盒子同級下再添加一個盒子,並設置高度與此盒子的高度相同

代碼:

<style>
        .one {
            position: fixed;
            width: 800px;
            height: 100px;
            border: 1px solid #ccc;
            background-color: pink;
        }

        .half {
            height: 100px;
            background-color: brown;
        }

        .two {
            width: 1000px;
            height: 200px;
            background-color: blueviolet;
        }
    </style>
</head>

<body>
    <div class="one"></div>
    <div class="half"></div>
    <div class="two"></div>
</body>

效果:

 

 

方法三:給下面的盒子設置margin-top:mpx;m為設置了position:fixed;盒子的高度。但是該方法可能會導致一個問題-外邊距塌陷問題。因此對於某些情況而言,采用此方法是我們同時還要考慮外邊距塌陷的問題。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM