1. 程式人生 > 實用技巧 >WebAPP輸入框被軟鍵盤遮擋腫麼辦?

WebAPP輸入框被軟鍵盤遮擋腫麼辦?

>>> hot3.png

WebAPP輸入框被軟鍵盤遮擋腫麼辦?

當輸入框處於半屏以下位置軟鍵盤彈出時遇到的坑:
1.輸入框被遮擋,看不見輸入的內容
2.頁面自動上移,但收回軟鍵盤時頁面少了一截
3.IOS系統上使用JRoll,IScroll等滑動方案時,游標不隨輸入框移動
4.軟鍵盤彈出時視窗變小元素錯位

解決方案
1、能不用滑動外掛就不用。
2、IOS->使用overflow:auto;-webkit-overflow-scrolling;儘量避免使用JRoll等外掛
3、Android->使用JRoll的fixedinput外掛

建議從設計角度解決被遮擋的問題,見下文。

目前手機系統、瀏覽器系統眾多,版本各異,表現詭異,相容起來不比當年IE6輕鬆,麻辣個蛋,好不容易從PC開發跳到移動開發,還以為手機瀏覽器加了個-webkit字首是萬能的,握勒個去,誰知滑動卡頓、fixed走位、監聽安卓返回鍵、某些機型focus喚不起軟鍵盤、輸入框被軟鍵盤遮擋、安卓4.4以下不支援date等表單型別、濫用css3動畫整個APP都不好了等等問題接踵而至,前端開發道遠而任重啊~~呃。拿我最近的一個專案舉個粟子。

200745_bfiP_181850.jpg

對於設計師來說,表單理所當然一直往下排,但對於要實現功能的程式猿來說,苦逼啊。上圖至少三屏才能顯示完,輸入框被軟鍵盤遮擋不可避免,還要處理各種相容問題,軟鍵盤彈出時有的瀏覽器不改變視窗高度,有的改變視窗高度後索性不改回來了,鍵盤收回來時頁面縮了一截,腫麼辦?

要從根源上解決這個問題,必須要讓輸入框不被遮擋,這就要從設計入手,修改設計有兩種方案,一是分頁處理,二是彈窗輸入。

分頁處理

絕不讓輸入框位於下半屏

200745_F4J9_181850.jpg 200745_RK71_181850.jpg

200745_isC9_181850.jpg 200746_MP6C_181850.jpg

200746_sI7t_181850.jpg 200747_FsFT_181850.jpg

彈窗輸入

浮起來讓你輸個夠

200747_FbgY_181850.jpg

如果大家還有什麼更好的方案,歡迎一起交流。

轉載請註明出處:http://my.oschina.net/cjlice/blog/625526

轉載於:https://my.oschina.net/cjlice/blog/625526