zoukankan      html  css  js  c++  java
  • 移动端页面踩坑二

    1.iPhone英文键盘如何取消首字母大写

      <input type="text" v-model.trim="userName" class="mui-input-clear" placeholder="请输入用户名" autocapitalize="off" autocorrect="off">

      关键性的代码是autocapitalize=”off” autocorrect=”off”

    2.上下拉动滚动条时卡顿、慢  

      解决办法:添加样式

    body {
     -webkit-overflow-scrolling: touch;
     overflow-scrolling: touch;
    }
    

    3.长时间按住页面出现闪退 

      解决办法:添加办法

    element {
     -webkit-touch-callout: none;
    }
    

    4.旋转屏幕时,字体大小调整的问题  

      解决办法:添加样式

    html, body, form, fieldset, p, div, h1, h2, h3, h4, h5, h6 {
     -webkit-text-size-adjust:100%;
    }
    

    5.顶部状态栏背景色  

    <meta name="apple-mobile-web-app-status-bar-style" content="black" />
    

    说明:

    • 除非你先使用apple-mobile-web-app-capable指定全屏模式,否则这个meta标签不会起任何作用。
    • 如果content设置为default,则状态栏正常显示。如果设置为black,则状态栏会有一个黑色的背景。如果设置为blank-translucent,则状态栏显示为黑色半透明。
    • 如果设置为default或blank,则页面显示在状态栏的下方,即状态栏占据上方部分,页面占据下方部分,二者没有遮挡对方或被遮挡。
    • 如果设置为blank-translucent,则页面会充满屏幕,其中页面顶部会被状态栏遮盖住(会覆盖页面20px高度,而iphone4和itouch4的Retina屏幕为40px)。
    • 默认值是default。

    6.ios 设置input 按钮样式会被默认样式覆盖 

      解决方法:添加样式

    input,textarea {
     border: 0;
     -webkit-appearance: none;
    }
    

    7.IOS键盘字母输入,默认首字母大写  

      解决办法:autocapitalize

    <input type="text" autocapitalize="off" />
    

    8.消除 IE10 里面的那个叉号  

      解决办法:添加样式

    input:-ms-clear{display:none;}
    

    9.iOS 系统中,中文输入法输入英文时,字母之间可能会出现一个六分之一空格  

      解决办法:正则去掉

    this.value = this.value.replace(/u2006/g, '');
    

    10.移动端 HTML5 audio autoplay 失效问题

      问题:这个不是 BUG,由于自动播放网页中的音频或视频,会给用户带来一些困扰或者不必要的流量消耗,所以苹果系统和安卓系统通常都会禁止自动播放和使用 JS 的触发播放,必须由用户来触发才可以播放

      解决办法:先通过用户 touchstart 触碰,触发播放并暂停(音频开始加载,后面用 JS 再操作就没问题了)

    document.addEventListener('touchstart', function () {
         document.getElementsByTagName('audio')[0].play();
         document.getElementsByTagName('audio')[0].pause();
    });
    

    11.唤起select的option展开  

      zepto方式:

    $(sltElement).trrgger("mousedown");
    

      js方式:

    function showDropdown(sltElement) {
         var event;
         event = document.createEvent('MouseEvents');
         event.initMouseEvent('mousedown', true, true, window);
         sltElement.dispatchEvent(event);
    };
    

    12.安卓浏览器看背景图片,有些设备会模糊。  

      原因:用同等比例的图片在PC机上很清楚,但是手机上很模糊,是devicePixelRatio作怪,因为手机分辨率太小,如果按照分辨率来显示网页,这样字会非常小,所以苹果当初就把iPhone 4的960640分辨率,在网页里只显示了480320,这样devicePixelRatio=2。现在android比较乱,有1.5的,有2的也有3的。

      解决办法:使用2x的背景图来代替img标签(一般情况都是用2倍)。例如一个div的宽高是100100,背景图必须得200200,然后background-size:contain;,这样显示出来的图片就比较清晰

    background:url(../images/icon/all.png) no-repeat center center;
    -webkit-background-size:50px 50px;
    background-size: 50px 50px;
    display:inline-block;
    100%;
    height:50px;

      或者指定 background-size:contain 

  • 相关阅读:
    vue.js实战——.native修饰符
    vue.js实战——props数据验证(自定义构造器检测)
    vue.js实战——props单向数据流
    vue组件之嵌套
    vue非父子组件之间的通信——发布订阅模式,总线机制
    脚本加载优化方法
    文字溢出时,实现在末尾显示三个点省略效果
    1-stm32 gpio库函数
    2-C语言 排序算法
    电子工程师扫盲
  • 原文地址:https://www.cnblogs.com/yxkNotes/p/13947136.html
Copyright © 2011-2022 走看看