html滾動到頂部固定最簡單實現


html滾動到頂部固定最簡單實現

1.今天遇到一個需求:搜索框滑動到頂部固定到頂部位置

先給解決方式,兩行css搞定。

.serach-view{
  position:sticky;
  top: 0;
}

一開始的想法是通過js實現,監聽瀏覽器的滾動事件,判斷頁面滾動距離大於 相對於頁面頂部的距離時,將元素的 position 屬性值 改為 fexid。然后在網上找到了這樣一段代碼

let nav = document.querySelector('.nav')

window.addEventListener('scroll',function(e){
  if(window.pageYOffset > nav.offsetTop){
    nav.style.position = 'fixed'
    nav.style.top = '0px'
  }else{
    nav.style.position = 'static'
  }
})

但是本着樣式問題能css實現絕不寫一行js的懶人原則,我又找了很多資料最后發現position:sticky屬性。

position:sticky屬性作用是相對定位和固定定位的混合。當元素在窗口內定位方式是relative,當元素滾出屏幕定位方式變為fixed.

所以把元素定位設置為sticky,給個top:0。就可以完美實現元素滑動到頂部固定到頂部位置。

 


免責聲明!

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



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