zoukankan      html  css  js  c++  java
  • 移动端兼容问题

    1. 苹果手机下只留input框的下划线,安卓使用border:none是可以的,苹果会出现拐角处也会有线条,这样就跟ui图不一样了,所以想办法去除掉,经过搜索发现这是 webikt 内核浏览器通过私有属性 -webkit-appearance 对控件设置了默认样式。

      input{ -webkit-appearance:none }   // 这样就会解决苹果手机下的问题

    2. 动态获取中间的内容高度(不同手机屏幕显示的高度也是不一样,滚动只滚动中间那一部分)

      我曾使用过css中的cale() 来计算出内容中间的高度,但是最后还是发现了问题,因为移动端布局是用rem来进行适配,而cale来计算是百分比,虽然rem可以转换成百分比,但是还是不是特别的妥当。

      最后我使用的是动态获取中间内容的高度来进行计算,就比较好用,但是有一个问题,一开始我将计算出来的变量是存放在data里面的(vue)导致在苹果手机上动态获取到的内容并不显示,后来直接用const定义变量就没关系。

    3. 评论框兼容(虚拟框弹出键盘遮挡问题

      评论框定位(position: fixed)在页面的最低端,点击评论框会弹出虚拟框并在虚拟框的上方,在苹果机上使用position:fixed是相当于absolute,所以还会在页面的最底部,最后了解到scrollByLines()  scrollIntoView(true)  scrollIntoViewIfNeeded()

      // 解决苹果下虚拟框弹出键盘遮挡问题
      releaseContent () {
        let interval = null
        $('#releaseContent').focus(function () {
        let target = this
        interval = setInterval(function () {
          // target.scrollByLines()
          target.scrollIntoView(true)
          // target.scrollIntoViewIfNeeded()
        }, 100)
        }).blur(function () {
          clearInterval(interval)
        })
      }
     
      使用了scrollIntoView()只是解决了一半苹果的问题,在iPhone8以下是可以的,在iPhone8plus就不可以,还是会出现虚拟框遮挡的问题,这个问题我也是不知道怎么才会解决,希望大神们,多多指教一下。
     
      关于scrollIntoView的地址查看   https://developer.mozilla.org/zh-CN/docs/Web/API/Element/scrollIntoView
     
     
                              2018-11-22
  • 相关阅读:
    河北省重大技术需求征集系统(10)
    河北省重大技术需求征集系统(9)
    大三上学期周总结
    河北省重大技术需求征集系统(8)
    《代码大全》阅读笔记(三)
    河北省重大技术需求征集系统(7)
    河北省重大技术需求征集系统(6)
    河北省重大技术需求征集系统(5)
    【自动化】Aritest+python实现客户端UI自动化
    【自动化】Monkey自动化测试实现总结
  • 原文地址:https://www.cnblogs.com/lgl1209/p/10001573.html
Copyright © 2011-2022 走看看