1. 程式人生 > >css在ios和android裝置上的相容性問題(移動裝置不同核心瀏覽器樣式相容性)筆記

css在ios和android裝置上的相容性問題(移動裝置不同核心瀏覽器樣式相容性)筆記

position屬性帶來的浮動問題:

專案案例:

網宿流量微信公眾號活動紅包抽獎頁面;

問題描述:

在input被獲取焦點時,螢幕上position屬性值為absolute的元素,包含input,會被彈出的虛擬鍵盤頂起,導致顯示樣式異常

裝置:

android裝置存在此問題,而ios裝置顯示正常

原因分析:

css屬性中對容器的樣式中提到,子元素定位方式為absolute或者fixed,若父容器沒有新增屬性position:relative;則當前元素的定位座標是相對於body元素的(大部分情況下也可描述為當前視窗可見範圍)。問提的出現是android的虛擬鍵盤顯示機制,佔用了一部分的螢幕資源,是的分配給瀏覽器的螢幕資源高度縮小,position為absolute和fixed的元素在父容器沒有定義position:relative的情況下,因為瀏覽器窗體可見範圍的縮小,定位響應發生改變,所以出現“被頂起”的情況。

解決方案:

在分析中提到,父級容器與子元素的關係,所以在父級容器中定義容器高度,並設定position屬性的值為relative即可解決此問題。