zoukankan      html  css  js  c++  java
  • input输入内容时放大问题及处理

    最近做的微信网站有一个关于input输入框页面放大的问题。比如登录页面刚打开时正常,但用户输入信息登录时,页面就会放大。解决这个问题,首先需要在头部加一个

    <meta name="viewport" content="width=720,inital-scale=1.0,user-scalable=no;">

    或者:

    <meta name="viewport" content="user-scalable=no;">

    目的就是不要用户自行放大或缩小页面。

    再加一个如下的css样式:

    input,input:focus,input:active{user-select: text;}

    还有种情况就是给input加了字体大小的样式单位是vmin的,比如:

    input{font-size:3vmin;}

    安卓手机也会出现有输入时input内是字体会有放大或缩小的情况。这种情况的解决办法就是把字体单位改成px即可,如:

    input{font-size:36px;}/*顺便分享一下个人实验的结果,字体单位:1vmin大约等同于10px*/

    如此便可解决问题。

    问题就解决了,有类似问题的同学可以试试。

    js的解决办法:

    首先在头部加一个js来获取手机的不同型号对应的并屏幕大小,然后给其加不同的meta属性。如下:

    <script>
        if(/Android (d+.d+)/.test(navigator.userAgent)){
           var version = parseFloat(RegExp.$1);
        if(version>2.3){
           var phoneScale = parseInt(window.screen.width)/720;
           document.write('<meta name="viewport" content="width=720, minimum-scale = '+ phoneScale +', maximum-scale = '+ phoneScale +', user-scalable=no, target-densitydpi=device-dpi">');
           }else{
                document.write('<meta name="viewport" content="width=720, target-densitydpi=device-dpi">');
           }
           }else{
                document.write('<meta name="viewport" content="width=720, user-scalable=no, target-densitydpi=device-dpi">');
           }
    </script>

    其次就是需要改你的css。即将你的css中所有定了页面最大宽度的具体值全部改成100%.
    这样就能解决问题了,经测试这个方法对所有常用机型都适用。

  • 相关阅读:
    select选择框去掉默认的下拉箭头
    网站怎么添加ico小图标
    js实现逐字打印效果,文本逐字显示
    jQuery实现消息列表循环垂直向上滚动
    滤镜图片变黑白+图片模糊
    多选下拉框(select 下拉多选)
    JavaScript 数组相关基础方法
    h5+ IOS App中判断本地文件是否存在 plus.io.resolveLocalFileSystemURL()
    h5+ IOS App中取消视频默认全屏播放
    C# 多线程与队列操作小练刀
  • 原文地址:https://www.cnblogs.com/kingchan/p/6077614.html
Copyright © 2011-2022 走看看