這里有個關鍵的東西叫做viewport,你經常在頁面的頭部里可以見到它:
<meta name="viewport" content="width=device-width, initial-scale=1.0">
想起來了吧,就是它讓你的頁面不會像在桌面上那樣顯示,玩過windows的放大鏡功能吧, 你可以把viewport想象成一個類似的放大鏡,fixed的元素是相對整個頁面固定位置的,你在屏幕上滑動只是在移動這個所謂的viewport,原來的網頁還好好的在那,fixed的內容也沒有變過位置,所以說並不是iOS不支持fixed,只是fixed的元素不是相對手機屏幕固定的。換個角度,如果所有fixed的元素都相對屏幕固定,那那些桌面版的網頁在手機上還能看嗎。
解決方案。1.框架 。有很多手機端框架 已經解決了這個問題
2.用position:absolute,絕對定位 然后通過JS 跟着屏幕滾動而滾動 達到固定定位的效果