全部,iOS5(Safari),「位置:固定」div和高度表格的錯誤
我正在研究一個包含非常「高」形式的Web應用程序。意味着它比典型的屏幕)高百分之幾百。
的設計要求掛靠在這總是可見,無論用戶在表單位置的屏幕底部的「頁腳」。
在換句話說,無論用戶是靠近窗體的頂部,中間還是底部,頁腳都應該是可見的,並且窗體應該滾動「在其下面」
爲了實現這一點,我創建了頁腳作爲與position:fixed
和bottom:0
的div。
這適用於我測試過的所有瀏覽器,包括iOS5上的Safari。
除了有ONE錯誤......
如果用戶靠近窗體的頂部,將焦點聚集到文本字段中 - 如預期,顯示的iOS鍵盤。
每次用戶點擊下一步按鈕,iOS「標籤」她到下一個字段。
隨着她通過反覆點擊下一個,表格向下滾動,所以她在窗體上的位置仍然在視圖中。
但是,iOS似乎沒有更新position:fixed
頁腳div的位置 - 它與表格的其餘部分一起錯誤地向上滾動。
如果用戶關閉鍵盤,div會恢復到它的「正確」位置,所以這不是一個不可恢復的錯誤。但是,頁腳移動的事實是一個明顯的問題。
這是iOS的實施position:fixed
的缺陷或缺點嗎?或者,我做錯了什麼?
非常感謝提前!
[更新]
雷米夏普(適當命名的)剛剛寫了各種錯誤和與position:fixed
在iOS/Safari瀏覽器問題的一個很好的和詳細的崗位:http://remysharp.com/2012/05/24/issues-with-position-fixed-scrolling-on-ios/。這是,如果你想在面向iOS用戶網站使用position:fixed
一個必讀...
Yinnette,這是一個很好的解決方案。但是,它的問題(除非我誤解),它需要我有一個固定的身體高度。這在非iOS設備上是不可能的,窗口可以調整大小。 (另外,有傳言說iPhone 5的屏幕高度可能與之前的型號不同,這也意味着我不應該假設身體部分具有固定的高度。)我意識到我可以使用JavaScript來調整身體高度窗口調整大小的事件,但那變得非常janky ... – mattstuehler