经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » HTML/CSS » HTML5 » 查看文章
踩坑ios H5
来源:cnblogs  作者:佟舟  时间:2019/6/26 11:41:52  对本文有异议

目录

  1. input获取焦点时,页面被放大
  2. ios input输入时白屏
  3. 软键盘撑起页面下不来
  4. ios页面滚动不流畅
  5. position:fixed/absolute随屏幕滚动

1.input获取焦点时,页面被放大

设置meta标签

  1. <meta name="apple-mobile-web-app-capable" content="yes">
  2. <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no">

2.ios input输入时白屏

这个问题貌似只有再ios9中才有


解决方法:在input的父元素上添加相对定位就行了,非常神奇,具体因为啥不太清楚。。

  1. style="postion:relative;"

3.软键盘撑起页面下不来

目前有2个方法:

(1) js控制focus blur
  1. //input输入框弹起软键盘的解决方案。
  2. var bfscrolltop = document.body.scrollTop;
  3. $("input").focus(function () {
  4. document.body.scrollTop = document.body.scrollHeight;
  5. }).blur(function () {
  6. document.body.scrollTop = bfscrolltop;
  7. });
(2) (待验证0.0)
  1. position: absolute;
  2. webkit-overflow-scrolling: touch;
  3. z-index:1;
  4. //js再控制blur //让页面向下滑动500
  5. document.body.addEventListener('focusout', function () {
  6. window.scrollTo(0,500);
  7. })

4.ios页面滚动不流畅

我的解决方法是,让html和body固定100%(或者100vh),然后再在内部放一个height:100%的div,设置overflow-y: auto;和-webkit-overflow-scrolling: touch;

  1. .h100scroll {
  2. /* 模态框之类的div不能放在这个容器中 */
  3. height: 100%;
  4. overflow-y: auto;
  5. -webkit-overflow-scrolling: touch;
  6. overflow-scrolling: touch;
  7. }

5.position:fixed/absolute随屏幕滚动

注:ios里貌似不支持fixed。。。这里主要指absolute


在position:fixed/absolute内加入:

  1. -webkit-transform: translateZ(0);

抖动情况,则在内容区域,加入 :

  1. overflow-y: auto;

原文链接:http://www.cnblogs.com/tongzhou/p/11088011.html

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号