移动端底部被输入法顶起的解决办法

在微信端时发现固定在底部的按钮在页面调用输入法的时候会被顶起来,多次测试发现只是在安卓上面,听说ios有时也会,不过没遇见,最后采用的方法是不给底部设定固定绝对定位,直接采用计算clientHeight来确定底部的位置,简单来说就是把底部撑到固定的位置,

下面是HTML

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <style>
        *{
            padding: 0;
            margin: 0;
        }
        html,body{
            height: 100%;
        }
        #wrap{
            height: 100%;
        }
        .main{
            overflow-y: scroll;
        }

    </style>
</head>
<body>
<div id="wrap">
<div class="main">
    <input type="text">
    <div>hahha</div>
    <div>hahha</div>
    <div>hahha</div>
    <div>hahha</div>
    <div>hahha</div>
    <div>hahha</div>
    <div>hahha</div>
    <div>hahha</div>
    <div>hahha</div>
    <div>hahha</div>
    <div>hahha</div>
    <div>hahha</div>
    <div>hahha</div>
    <div>hahha</div>
    <div>hahha</div>
    <div>hahha</div>
    <div>hahha</div>
    <div>hahha</div>
    <div>hahha</div>
    <div>hahha</div>
    <div>hahha</div>
    <div>hahha</div>
    <div>hahha</div>
    <div>hahha</div>
    <div>hahha</div>
    <div>hahha</div>
    <div>hahha</div>
    <div>hahha</div>
    <div>hahha</div>
    <div>hahha</div>
    <div>hahha</div>
    <div>hahha</div>
    <div>hahha</div>
    <div>hahha</div>

</div>
<div class="footer" style="height: 36px;background-color: red;">
   <button>这是按钮</button>
</div>
</div>
<script src="../../js/jq/jquery.js"></script>
</body>
</html>

  很重要的一点就是要给html、body设置height:100%;主要是撑开高度,

下面是js

     $(window).resize(function(){
         var height=document.body.clientHeight-36+"px";
         $(".main").css("height",height)
     });

为了效果好,必要给底部或者main设置一个初始化位置或者高度,

以上实现很简单,我感觉主要是思维的转换。

时间: 2024-10-12 08:24:41

移动端底部被输入法顶起的解决办法的相关文章

Android 底部弹出提示框的解决办法(使用Activity以及PopupWindow)

本片文章主要谈探讨了如何实现在底部弹出提示框背景为半透明效果的实现.想要实现此种效果一般有两种方式一个是使用Activity设置Theme另一种方式就是使用PopupWindow设置样式实现效果. 一,使用Activity 首先是此activity的布局文件: <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.andro

移动端touch点穿(穿透)解决办法

回答一 穿透(点穿)是在mobile各种浏览器上发生的常见的bug.可能是由click事件的延迟或者事件冒泡导致. 移动web开发常用的Zepto库中的touch和tap事件就会有点穿的bug(Zepto的事件都绑在Document上). 解决方案 1.使用fastclick,这个可以非常完美的解决点穿问题. 2.在touchend事件回调中加入preventDefault, 并在下一层中加上pointer-events:none. 回答二 移动端的click都是touch之后,才会模拟触发.

phpstorm 输入法中文不同步 phpstorm 输入法不跟随光标解决办法

win7系统新安装的phpstorm2017.2版本,试了很多输入法,要么是不显示候选次,要么是输入法候选词总是在屏幕右下角,没有跟随光标移动.百度很久,重要找到解决方案. 就是替换phpstorm安装目录下的 jre64文件夹. 下载 https://bintray.com/jetbrains/intellij-jdk/download_file?file_path=jbsdk8u112b736.21_windows_x64.tar.gz解压更名 jre64  替换掉安装目录下的jre64,注

Ubuntu ibus输入法图标消失的解决办法

方法:重启ibus ? 现在的Ubuntu系统采用ibus作为输入法. ? 它不是很稳定.所以经常需要重启输入法.从命令行重启: ? 菜单-应用程序-附件-终端 ? killall ibus-daemon ? ibus-daemon -d

div里包含img底部必定多出空白的解决办法

研究了很久,自己写了js代码都解决不了.最后还是靠万能的网友解决了这一问题! 问题:adding.margin.border都设为0,无效.怎么样都多出3px. 解决方案: 1.设置div{ font-size: 0} 2.设置img{ display: block} 3.设置img{ vertical-align:top;} 推荐第二种方法,让img对象成为块级元素.

h5移动端常见虚拟键盘顶起底部导航栏解决办法

在h5移动端开发中相信很多朋友跟我一样都会遇到页面底部导航被虚拟键盘顶起的问题,自己在网上找到的解决办法拿出来与大家分享,有不完美之处还望见谅,有更好的解决办法可以贴出来大家一起互相学习!! var oHeight = $(document).height(); //浏览器当前的高度 // 浏览器窗口发生变化时判断 $(window).resize(function(){ if($(document).height() < oHeight){ $('footer').hide(); }else{

解决安卓中页脚被输入法顶起的有关问题

解决安卓中页脚被输入法顶起的问题 在实际开发中,我们对页脚有两种要求:让其固定在底部或者被输入法托起.下面来看看这两种问题的解决办法 问题截图: 1.让页脚固定在底部(无论是否出现输入法) 解决办法:设置软键盘的输入模式:用窗体管理器设置布局参数为自动调整 方法一:java代码中实现:在你的activity中的oncreate中setContentView之前写上这个代码getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_IN

关于移动端底部定位问题

移动端的页面有些内容是需要固定在底部,一般会采用fixed,当页面中input获取到焦点的时候, 这时候底部的内容就会被顶上来 如果是按钮被顶上来,有时候不会影响页面效果,可是当底部是一些广告或者注意事项的时候,这时候这种效果就不行了. 解决办法,: .mdfMessageBtn{ width:100%; height:50px; background-color: #ffb000; color:#fff; position:absolute; bottom:0; font-size: 16px

spring mvc +HTML5实现移动端底部上滑异步加载更多内容分页效果

由于手机的携带的方便性和手机的越来越智能和移动网速越来越快,手机已经充斥着人们的生活.随着手机的流行, 移动应用也快速的火了起来比如微商城.手机网页.移动APP等等.既然移动应用这么火,我们今天来讲一下怎样实现在移 动网页中动态加载数据,那么我们怎么实现呢,是像pc网页那样,有个上一页和下一页还是其它的方式. 其实像pc网页那样上一页和下一页肯定不行的,手机屏幕很小,不好点击同时用户体验很差,今天来给大家介绍使用 spring mvc +HTML5实现移动端底部上滑异步加载更多内容分页效果的方式