美文网首页
9.移动web端

9.移动web端

作者: helloyoucan | 来源:发表于2019-11-28 12:43 被阅读0次

原文链接:https://github.com/helloyoucan/knowledge

1.常见问题

1.滚动穿透

有fixed遮罩层和弹出层,在屏幕上滑动能够滑动背景下面的内容。

解决

设置bodyposition:fixed,弹出前记录滚动条位置,关闭后还原滚动条位置。

2.移动端输入框被键盘遮挡

解决

  1. 监听窗口resize事件,判断当前获得焦点的元素为输入框,则调用元素的scrollIntoView()
  2. 若不支持resize事件(app内嵌的webview),则可以通过获取输入框焦点将输入框定位到略高于输入框的位置,失去焦点时在恢复到底部。(由于键盘高度不一致,但不会高于半个屏幕,可设位置为屏幕一半往上)
3.IOS滚动不平滑

当滚动屏幕手指松开,滚动会停止。

解决

设置-webkit-overflow-scrolling:touch

auto:使用普通滚动, 当手指从触摸屏上移开,滚动会立即停止。

touch:使用具有回弹效果的滚动, 当手指从触摸屏上移开,内容会继续保持一段时间的滚动效果。

4.移动端字体
 body {
  font-family: 
    system-ui,-apple-system,BlinkMacSystemFont,segoe ui,Roboto,
    Helvetica,Arial,
    sans-serif,apple color emoji,segoe ui emoji,segoe ui symbol;
}
  1. system-ui,使用各个支持平台上的默认系统字体
  2. -apple-system, 在一些稍低版本 Mac OS X 和 iOS 上,它针对旧版上的 Neue Helvetica 和 Lucida Grande 字体,升级使用更为合适的 San Francisco Fonts
  3. BlinkMacSystemFont,针对一些 Mac OS X 上的 Chrome 浏览器,使用系统默认字体
  4. segoe ui,在 Windows 及 Windows Phone 上选取系统默认字体
  5. Roboto,面向 Android 和一些新版的的 Chrome OS
  6. Helvetica,Arial,在针对不同操作系统不同平台设定采用默认系统字体后,针对一些低版本浏览器的降级方案
  7. sans-serif,兜底方案,保证字体风格统一,至少也得是无衬线字体
5.移动端适配
  1. flexible.js
  2. vh/vw(viewport)
6.移动端唤起app
<a href="abraham:/xxx.com/?pid=1">打开app</a>
// schema拼接协议的格式:[scheme]://[host]/[path]?[query]
var u = navigator.userAgent;
var isAndroid = u.indexOf('Android') > -1 || u.indexOf('Linux') > -1; //android终端或者uc浏览器
var isiOS2 = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/); //ios终端
if (isAndroid) {
    window.location.href = "安卓提供协议url";
    /***打开app的协议,有安卓同事提供***/
    window.setTimeout(function() {
        window.location.href = '下载的地址';
    }, 2000);
} else if (isiOS2) {
    window.location.href = "IOS提供协议url";
    /***打开app的协议,有ios同事提供***/
    window.setTimeout(function() {
        window.location.href = '下载的地址';
    }, 2000);
} else {
    window.location.href = '下载的地址';
}
7.设置height= line-height就是会存在无法垂直居中文字的现象,偏下或者偏上

1.padding

p{
    /*高度为90px*/
    font-size: .26rem;
    padding: 0.22rem;
}

虽然上面的方法可以实现,但是用起来的时候经常每次都要去计算高度(padding值等于设计高度减去font-size之后再/2),这样就比较麻烦,而且,在针对多行的时候还得计算,于是我又采用了下面的方式。利用 css3 flex布局的特性。

2.flex

 p{  
    font-size: .26rem;
    height: 0.9rem;
    display: flex;
    display: -webkit-flex;
    -webkit-align-items:center;
    align-items:center;
    box-pack-align: center;
    -webkit-box-pack-align: center;
}
8. 取消input在ios下,输入的时候英文首字母的默认大写
<input autocapitalize="off" autocorrect="off" />
9.android 上去掉语音输入按钮
input::-webkit-input-speech-button {display: none}

相关文章

  • 9.移动web端

    原文链接:https://github.com/helloyoucan/knowledge 1.常见问题 1.滚动...

  • WEB兼容性测试----移动端兼容矩阵的设计

    上期文章分享了PC端的web兼容测试,本期我们通过调研移动端web的特性和移动端浏览器特性,进一步探讨Web移动端...

  • HTML基础

    新的征程 web前端介绍 web前端开发做什么 pc端web开发;移动端web开发;混合app开发;网页游戏/移动...

  • 文集

    若web前端到达了瓶颈,如何冲出重围? 移动端汇总 腾讯移动web知识库移动前端开发指南移动端上遇到的各种坑移动端...

  • 产品经理的初步接触

    目前你的产品按照终端可以分为三类:PC端,WEB端(包括WAP),移动端。对于目前而言对于移动端和WEB端的产品经...

  • iOS中 HTML中字符实体转化为可直接显示字符

    由于项目是web端和移动端通用的数据,有的时候有些字符web端显示正常.但到了移动端就会直接显示字符的实体名称. ...

  • 移动端

    app Web App Hybird App 移动端页面 设计图 测试 移动端的设置 移动端的布局 弹性 fl...

  • Flutter web踩坑记录

    从移动端应用转web应用 在终端输入flutter config --enable-web, 允许web端应用即可...

  • 移动布局

    移动web开发流式布局 ====================== 1.0 移动端基础 1.1浏览器现状 PC端...

  • web移动端

    移动端基本环境 viewport 视口 可视区窗口 默认不设置, 一般可视区宽度在移动端是980 参数: widt...

网友评论

      本文标题:9.移动web端

      本文链接:https://www.haomeiwen.com/subject/yayjwctx.html