关于移动端开发时iOS上滑屏卡顿的问题,以及电话类数字的样式失控问题

写在前面的话:

  tips:写移动的时候,那些头部需要固定显示在显示屏顶部的,通常在PC端我会用fixed来写。但是,在移动端,这并不是一个好方法,因为弹出输入小键盘的时候,会造成fixed 的元素偏移掉,在这里有两种方法可以解决:

1.建议移动端布局采用以下方式(见正文),如果有错误的地方,还请指正~

2.另外还看到一篇文章提到这个问题,作者让固定的头部仍然采用fixed, 然后内容区也用了fixed,内容区的fixed元素这样写:{position:fixed;top:80px;bottom:80px;width:100%;overflow:scroll;}



我用的方法是:

html,
body {
  position: relative;
  width: 100%;
  height: 100%;
  max-width: 800px;
  min-width: 320px;
  overflow-x: hidden;
  overflow-y: hidden;
  margin: 0 auto;
  background: #fff;
}
.views {
  position: relative;
  width: 100%;
  height: 100%;
  overflow-x: hidden;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch; /* 在ios上滑屏更流畅,不信你去掉试试 */
}
.g3 {
  width: 8.66133rem;
  height: 2.176rem;
  font-size: 0.512rem;
  color: #000;
  line-height: 0.72533rem;
  border: 1px solid red;
  overflow: hidden;
 } 
<body>
    <div class="views">
        <p class="g3">
            动机客户赶快交电话费开发将对方很高科技的化工科技和登记客户对方更好看的恢复规划的国际化考核得分科技化工等客观和登记和高科技好读后感京东框架读后感动机户赶快交电话费开发将对方很高科技的化工科技和登记客户对方更好看的恢复规划的国际化考核
        </p>
            <!-- 此处省略 n  个 相同的p标签,要多到滑几屏的长度  -->
        <p class="g3">
            动机客户赶快交电话费开发将对方很高科技的化工科技和登记客户对方更好看的恢复规划的国际化考核得分科技化工等客观和登记和高科技好读后感京东框架读后感动机户赶快交电话费开发将对方很高科技的化工科技和登记客户对方更好看的恢复规划的国际化考核
        </p>
    </div>
</body>   

关于滑屏卡顿的问题,上面已经提到,要加上:

 -webkit-overflow-scrolling: touch;

就可以了;

那电话类数字又是啥?

代码:

样式和上文一样~,html如下:

<body>
    <div class="views">
        <p class="g3">
            动机客户赶快交电话费开发将对方很高科技的化工科技和登记客户对方更好看的恢复规划的国际化考核得分科技化工等客观和登记和高科技好读后感京东框架读后感动机户赶快交电话费开发将对方很高科技的化工科技和登记客户对方更好看的恢复规划的国际化考核
        </p>
        <p class="g3" style="width: 100%;background: green; color: #fff;">
            动机客户划的国际化考核400-105-0666
        </p>
    </div>
</body>

效果图如下:

在ios 中微信端与安卓端的效果是一样的,如以下截图:

点击数字:在ios微信端不能唤起拨打,在chrome 都不能唤起拨打;在safari上点击时会弹框说被禁止,当点击“允许通话”时,是可以拨打的,但样式不能忍啊……

     在安卓 的QQ里面打开不能唤起拨打,在MX4浏览器是可以的;

  

然而在 safari 上就变成了这样:

  

解法:

第1步. 加一行meta 标签:

<meta name = "format-detection" content = "telephone=no">

刷新页面,发现在safari 上样式正常了~~~,然而,拨打电话的功能木有了额。

第二步.把数字装进a 标签里:

.tel-num{
    color: #fff;
}
<a href="tel:400-105-0666" class="tel-num">400-105-0666</a>

现在试试点击吧,发现ios 端  的微信端也可以唤起拨打了,safari也可以像之前一样点击“允许通话”,允许拨打电话了,chrome也可以啦~

          在安卓 的QQ里面可以唤起拨打,在MX4浏览器仍然是可以的

原来这才是电话号码的正确书写方式~呃呃呃

时间: 2024-10-25 06:21:25

关于移动端开发时iOS上滑屏卡顿的问题,以及电话类数字的样式失控问题的相关文章

iOS:性能之卡顿检测

项目地址:https://github.com/tunsuy/iOSMonitorLag 该项目主要是针对ios项目的卡顿监控的探索,结合ios的运行机制和业界的实践,将其应用于公司项目中进行试运行,查看相关效果 二. 方案一 基于RunLoop 1. 背景 因为UIKit本身的特性,需要将所有的UI操作都放在主线程执行,所以也造成不少程序员都习惯将一些线程安全性不确定的逻辑,以及其它线程结束后的汇总工作等等放到了主线,所以主线程中包含的这些大量计算.IO.绘制都有可能造成卡顿. 在Xcode中

前端开发在IOS上元素active状态无法触发问题

###需求: 按钮在点击时变色,给用户反馈: 手指离开屏幕后按钮颜色变回之前的颜色: ###问题: 使用css  active状态来实现上述需求:发现在浏览器和Android手机上效果都ok.但是IOS上死活不行.后来偶然发现一篇博文:http://blog.csdn.net/freshlover/article/details/43735273 解释了这个问题(感谢google).意思就是,如果你的body元素没有绑定'touchstart'事件,safari就不会使用active状态. ##

iOS 上滑隐藏导航,下滑显示导航,仿斗鱼导航效果

UItableView或 UIcollectionView 都是继承UIScrollView 滑动的时候,判断是上滑还是下滑 使用 UIScrollView 的代理方法 p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #000000 } span.s1 { color: #ba2da2 } span.s2 { } span.s3 { color: #703daa } func scrollViewWillEnd

iOS开发之记一次App卡顿Bug的解决历程(踩了一个StoryBoard的坑)

虽然今天是周末,但是还是要学习的不是.写这篇博客的目的呢是记录一下自己在上次项目迭代中踩的坑,不过这个坑已经填上了.虽然坑不大,但是踩上去肯定能崴脚.其实还是那句话,在没人给你指路的情况下,踩的坑多了,慢慢的就成长了.为了填今天要讲的这个坑,午觉都没睡呢.当然今天博客的内容并不高深,而且出现的几率还是蛮大的,所以喽就记录一下.也许你已经踩过,或者你已经将此坑填上,但是今天是我踩了一脚呢,没办法,还是记录一下吧. 解决历程用一个字描述就是:“删”. 一.描述这个“坑” 首先呢,我们先来看一下这个B

Android新开发语言Sky:取代Java 告别卡顿-Android

作为当前市占率最高的智能手机操作系统,Android平台正在吸引着越来越多的开发者. 不过,对用户而言,Android的体验还不够完善,卡顿的情况时有发生.再深入点理解,许多应用的帧率达不到普遍意义上流畅的标准60fps. 好消息是,谷歌正在考虑使用新的编程方案着力改善这一情况.据悉,来自Chrome V8引擎设计团队的工程师近日演示了利用自主网页语言Dart来开发Android应用,并将其命名为"Sky".一如既往,Sky保持开源特性,包括iOS在内都可运行.更重要的是,它将带来12

移动端web页面滚动不流畅,卡顿闪烁解决方案

1.ios端的-webkit-overflow-scrolling属性可控制页面滚动效果,设置如下实现惯性滚动和弹性效果: -webkit-overflow-scrolling: touch 2.position属性导致的页面滚动不流畅问题: <div style="overflow-x: hidden; overflow-y: auto; position: absolute; height: 200px;"> <div style="position:

iOS中解决页面卡顿小技巧(很常用)

1.为什么出现页面卡顿? 在开发中我们常常会遇到布局比较复杂的cell,在滑动的时候会导致界面不流畅,出现卡顿的现象,这是由于CPU计算和GPU渲染,之间未及时交换数据丢失帧导致的结果. 2.常见解决办法 1).UIImageView尽量设置为不透明 opque尽量设置为YES 当UIImageView的opque设置为YES的时候其alpha的属性就会无效,UIImageView的半透明取决于其图片半透明或者UIImageView本身的背景色合成的图层view是半透明的. 如果图片全部不是半透

移动端开发之图片上传与显示

1.上传,使用servlet以及ajax (1)需要引入的包: (2)配置web.xml (3)引入servlet的程序 servlet代码: package upload; import java.sql.*;import java.io.File;import java.io.IOException;import java.io.PrintWriter;import java.util.Date;import java.util.List; import javax.servlet.Serv

移动端开发在iOS系统中 new Date() 返回 NaN 的问题

问题: 通过 new Date() 函数将后台返回的时间('2021-11-25')获取时间戳.在 chrome 浏览器中没有出现问题,但在 iPhone 真机测试的时候,显示的结果不符合预期.通过调试发现 iOS 中 new Date('2021-11-25') 返回的结果是 NaN,问题出现的原因是 iOS new Date() 中不能包含 - 符号. 解决办法: 最简单的办法,后台直接返回处理好的时间; 通过字符串的replace()方法(String.prototype.replace(