解決移動端虛擬鍵盤擾亂布局問題

做移動端開發(fā)時總會遇到這樣的問題:
在某些Android機上點擊輸入框時頁面的的布局錯亂,字體變小,輸入框被遮擋等問題茎活。
問題的原因(個人見解):
在出問題的手機瀏覽器上虛擬鍵盤不是以浮層的形式顯示妄痪,而是以一個占據(jù)頁面空間的div顯示,因為虛擬鍵盤要占據(jù)空間嘁傀,則你的內(nèi)容頁面的高度就會減少兴蒸,所以如果你的適配里面有關(guān)于高度適應(yīng)的字體設(shè)置,則需要進行修改细办。你的網(wǎng)頁像是一個iframe一樣嵌入到到當前的窗口而虛擬鍵盤就是和這個iframe同一級橙凳,所以你使用fixed定位彈窗,還有底部導(dǎo)航等等會被頂上去笑撞。
解決的方案:
解決字體的樣式:如果你的字體沒有高度適配岛啸,一般不會有問題,如果有茴肥,你需要覆蓋適配的樣式坚踩,用js改變即可。
adaptive: function() { //頁面適配問題
var htmlObj = document.querySelector('html') || document.getElementsByTagName('html')[0] || document.body;
var MOBILE_BASE_SEIZE = 20;
try{
if (!htmlObj) {
throw new Error('Get the html element error!');
}
let client_w = htmlObj.clientWidth,
baseFontSize = 18.75;
baseFontSize = client_w/MOBILE_BASE_SEIZE;
htmlObj.style.fontSize = baseFontSize + 'px';
} catch (e) {
console.log('function adaptive error:', e);
}
}

虛擬鍵盤會觸發(fā)onresize事件時瓤狐,所以在resize事件中再調(diào)用一次

解決布局錯亂問題:這是因為高度減小導(dǎo)致的瞬铸,所以先保存當前頁面的高度,當虛擬鍵盤出現(xiàn)時础锐,會觸發(fā)onresize事件嗓节,所以將布局高度強制設(shè)置為原始高度即可。

解決input被遮擋問題:
//輸入框鼠標聚焦事件
var input =('.raffle .share_guide input');
.each(input,function (i, input) {
console.log((input[i]));
(input[i]).focus(function () {
var timer = setTimeout(function () {
var dialog = document.getElementById('registDialog');
dialog.scrollIntoView(true);
dialog.scrollIntoViewIfNeeded();

}, 200);
});
});
最重要的是:scrollIntoView 和 scrollIntoViewIfNeeded事件皆警,具體使用自己百度拦宣。
建議最好使用rem或%作為單位。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市鸵隧,隨后出現(xiàn)的幾起案子桐愉,更是在濱河造成了極大的恐慌,老刑警劉巖掰派,帶你破解...
    沈念sama閱讀 219,589評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件从诲,死亡現(xiàn)場離奇詭異,居然都是意外死亡靡羡,警方通過查閱死者的電腦和手機系洛,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,615評論 3 396
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來略步,“玉大人描扯,你說我怎么就攤上這事√吮。” “怎么了绽诚?”我有些...
    開封第一講書人閱讀 165,933評論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長杭煎。 經(jīng)常有香客問我恩够,道長,這世上最難降的妖魔是什么羡铲? 我笑而不...
    開封第一講書人閱讀 58,976評論 1 295
  • 正文 為了忘掉前任蜂桶,我火速辦了婚禮,結(jié)果婚禮上也切,老公的妹妹穿的比我還像新娘扑媚。我一直安慰自己,他們只是感情好雷恃,可當我...
    茶點故事閱讀 67,999評論 6 393
  • 文/花漫 我一把揭開白布疆股。 她就那樣靜靜地躺著,像睡著了一般倒槐。 火紅的嫁衣襯著肌膚如雪旬痹。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,775評論 1 307
  • 那天导犹,我揣著相機與錄音唱凯,去河邊找鬼羡忘。 笑死谎痢,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的卷雕。 我是一名探鬼主播节猿,決...
    沈念sama閱讀 40,474評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了滨嘱?” 一聲冷哼從身側(cè)響起峰鄙,我...
    開封第一講書人閱讀 39,359評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎太雨,沒想到半個月后吟榴,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,854評論 1 317
  • 正文 獨居荒郊野嶺守林人離奇死亡囊扳,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,007評論 3 338
  • 正文 我和宋清朗相戀三年吩翻,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片锥咸。...
    茶點故事閱讀 40,146評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡狭瞎,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出搏予,到底是詐尸還是另有隱情熊锭,我是刑警寧澤,帶...
    沈念sama閱讀 35,826評論 5 346
  • 正文 年R本政府宣布雪侥,位于F島的核電站碗殷,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏速缨。R本人自食惡果不足惜亿扁,卻給世界環(huán)境...
    茶點故事閱讀 41,484評論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望鸟廓。 院中可真熱鬧从祝,春花似錦、人聲如沸引谜。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,029評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽员咽。三九已至毒涧,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間贝室,已是汗流浹背契讲。 一陣腳步聲響...
    開封第一講書人閱讀 33,153評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留滑频,地道東北人捡偏。 一個月前我還...
    沈念sama閱讀 48,420評論 3 373
  • 正文 我出身青樓,卻偏偏與公主長得像峡迷,于是被迫代替她去往敵國和親银伟。 傳聞我的和親對象是個殘疾皇子你虹,可洞房花燭夜當晚...
    茶點故事閱讀 45,107評論 2 356

推薦閱讀更多精彩內(nèi)容

  • 繼最近寫移動端H5項目不斷踩坑之后,決定找一些對自己后續(xù)開發(fā)有幫助的大總結(jié)博客來看看彤避,但是個人很懶傅物,所以將瀏覽過的...
    陳大沖閱讀 2,135評論 0 8
  • H5頁面窗口自動調(diào)整到設(shè)備寬度,并禁止用戶縮放頁面//一琉预、HTML頁面結(jié)構(gòu) // width 設(shè)置viewp...
    tiandashu閱讀 16,723評論 0 9
  • 透視與空間 一切物體都占有一定的空間董饰,物與物之間也存在著一定的空間距離。如作畫者與被畫物體的空間距離圆米,物體與物體之...
    小申羊閱讀 1,783評論 0 6
  • 我總會想 風(fēng) 她來自哪里尖阔? 又要去哪里呢? 她吹拂過纏綿的春天 像翩躚的少女 跳起一支精靈的舞蹈 那是風(fēng)之精靈吧榨咐!...
    深月影閱讀 1,201評論 2 6
  • 發(fā)現(xiàn)懷上你的時候介却,內(nèi)心有小小的欣喜~ 不知道何時,一顆小小的種子埋進了媽媽的肚子里块茁,然后慢慢的長大于是有了你齿坷。 在...
    Karman風(fēng)中果實閱讀 137評論 0 2