粘性定位


position粘性定位sticky

 position:sticky粘性定位

  sticky是css定位中不太常用的一種定位,但是可以根據粘性定位的特性  在頁面中達到你想要的效果。

  像是某些網站,在主導航欄下面還會有副導航欄,要實現頁面往下拉,副導航欄一直定位在頁面頂部,除了可以用js監聽onscroll事件來實現,還可以通過sticky定位輕松搞定。

 1.定義

    粘性定位可以被認為是相對定位和固定定位的混合。元素在跨越特定閾值前為相對定位,之后為固定定位。

    2.使用條件:
    1. 父元素不能設置 overflow:hidden; 或者 overflow:auto;  屬性;
    2. 必須制定 top、bottom 、left 、 right 4個值之一,否則只會處於相對定位;
    3. 父元素的高度不能低於sticky 元素的高度;
    4. sticky 元素僅在其父元素內生效;

簡單寫個demo

復制代碼
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    <style>
    .sticky{
        width: 100%;
        color:white;
        background-color: cadetblue;
        border: 1px solid red;
        position: sticky;
        top:0;
    }
    .div{
        height: 3000px;
        text-align: center
    }
    </style>
</head>
<body>
    <div class="div">
        <p>第一行</p>
        <p>第二行</p>
        <p class="sticky">第三行</p>
        <p>第四行</p>
        <p>第五行</p>
        <p>第六行</p>
        <p>第七行</p>
        <p>第八行</p>
        <p>第九行</p>
        <p>第十行</p>
        <p>第十一行</p>
        <p>第十二行</p>
        <p>第十三行</p>
        <p>第十四行</p>
        <p>第十五行</p>
        <p>第十六行</p>
        <p>第十七行</p>
        <p>第十八行</p>  
    </div>
    
</body>
</html>
復制代碼

頁面展示如下:

 

下拉滾動條

這里給第三行加了position:sticky屬性,設置了top:0,當往下拖動的時候,第三行就會固定在頂部位置

 


免責聲明!

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



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