IOS使用固定定位遇到的問題


  近日需要實現移動端頁面額外功能按鈕,即點擊加號彈出點贊與留言功能,通常這個按鈕都會固定於頁面的右下角,首先就想到使用固定定位來實現。

  但是在測試時我們發現,在IOS中,當系統鍵盤彈出時,fixed會失效,加號按鈕會隨着鍵盤的彈出,而被頂到鍵盤的上方。后來在網上搜索了一下,發現很多開發者都有遇到過這個問題,因為電商網站會有很多這種需要用到固定定位的場景,於是去到淘寶的移動端頁面,發現他們是通過使用絕對定位來實現固定定位的效果。方法如下:

頁面結構如圖

 

 

  首先設置一個box,大小等於頁面窗口的大小,設置屬性position:relative;盒子頂部與底部部分設置好高度,使用position:absolute,分別將top和bottom設為0,中間內容部分的高度通過js動態設置為頁面高度減掉頂部和底部欄的高度,並設置為positon:absolute,top等於頂部欄的高度,設置其屬性overflow:scroll,另外可再加上

-webkit-overflow-scrolling: touch;可以使中間部分滑動更加順暢,接近於原生app。最后設置加號按鈕的position:absolute,按照需求對其進行定位,此時在滑動頁面中間的內容部分時,加號按鈕始終處於原來的位置,並且在系統鍵盤彈出時,也不會影響到它,這樣就用絕對定位實現了固定定位的效果。

 


免責聲明!

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



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