iOS下的 Fixed BUG

input 光标位置乱窜

固定式浮层内的输入框光标会发生偏移。即?fixed?定位的容器中输入框光标的位置显示不正确,没有正常地显示在输入框中,而是偏移到了输入框外面



可触发条件

  • 页面body出现滚动条
  • 点击页面出现用fixed定位的弹框,弹框内有输入框,键盘弹起,页面发生滚动
  • 键盘弹起后手动滚动页面

通过调试工具发现键盘弹起视图向上调整了,但页面中元素所占的位置,其实并没有向上进行调整;输入框所占的位置还是原来键盘未弹起时的位置

input位置

原因

  • ?软键盘唤起后,页面的 fixed 元素将失效,所以当页面超过一屏且滚动时,失效的 fixed 元素就会跟随滚动了

不仅限于?type=text?的输入框,凡是软键盘(比如时间日期选择、select 选择等等)被唤起,都会遇到同样地问题

解决思路

?iOS 下由于软键盘唤出后,页面 fixed 元素会失效,导致跟随页面一起滚动,倘若页面不会过长出现滚动,即便 fixed 元素失效,也无法跟随页面滚动,也就不会出现上面的问题了

.content {
    /* main绝对定位,进行内部滚动 */
    position: absolute;
    top: 0;
    bottom: 0;
    right:0;
    left:0;
    /* 使之可以滚动 */
    overflow-y: scroll;
    /* 增加该属性,可以增加弹性 */
    -webkit-overflow-scrolling: touch;
}

<body>
    <div class="content">
       <!-- 内容在这里... -->
    </div>
</body>

这样不管是弹框里的input还是input位置都能一劳永逸

相关资源

原文地址:https://www.cnblogs.com/baimeishaoxia/p/11824162.html

时间: 2024-10-11 21:45:38

iOS下的 Fixed BUG的相关文章

iOS下的 Fixed + Input BUG现象

<body class="layout-scroll-fixed"> <!-- fixed定位的头部 --> <header> </header> <!-- 可以滚动的区域 --> <main> <div class="content"> <!-- 内容在这里... --> </div> </main> <!-- fixed定位的底部 --&

ios下position:fixed失效的问题解决

如图,考虑到用户体验的问题,一般页面的下方提交按钮都会随着固定在页面上,方便用户点击. 有些人肯定就说了,这还不简单,position:fixed: 但是在ios这个坑货系统上这个position:fixed这个css属性就会失效,你懂的,苹果就是搞特殊,下面我就用css来解决这个问题. 1.这个是要滑动的内容的css: .page-content { overflow: auto; -webkit-overflow-scrolling: touch; box-sizing: border-bo

iOS下的 Fixed + Input(时间日期选择、select 选择等等) 出现的问题

当输入时,软键盘被唤起,页面的 fixed 元素将失效(可以改为 absolute 定位,调整top位置),所以当页面超过一屏且滚动时,失效的 fixed 元素就会跟随滚动 滚动流畅性问题:加  -webkit-overflow-scrolling: touch; 第三方插件貌似也能解决这个问题:isScroll.js 原文地址:https://www.cnblogs.com/hehuiqiong/p/12559334.html

解决IOS下不支持fixed的问题

我们公司有一个页面底部用到了fixed样式,每当弹出键盘的时候,IOS下fixed就会走样(据我所知android没有该问题). 为此之前我经过产品的同意做了简单的处理(方法1). 方法一: focus的时候让fixed块position变为relative,这是最简单的处理方法. 下面是我的小demo <!DOCTYPE html> <html> <head> <title></title> <meta charset="utf

解决iOS下input和fixed 问题

在ios下如果页面底部有fixed 元素当有input输入框触发键盘时fixed会浮动在页面出现展示总是 解决方法有很多种,但是要根据实际需要更改 方法一.css解决(弊端:当有大面积input元素时会出现滑动不顺畅问题) //这里给内容区域设置 position:absolute,并且设置一个距离fixed的底部距离 .main{ position:absolute; bottom:rem-calc(80px); //fixed元素的高度 top:0; left:0; width:100%;

ios下input focus弹出软键盘造成fixed元素位置移位

正常状态下 input focus软键盘弹出时 问题描述: 头部结构fixed,滚动到下部内容区域,input.textarea等focus弹出软键盘时,头部位置偏移被居中(该问题ios7 beta3已修复),当软键盘关闭时,头部结构位置又恢复正常 安卓手机下,fixed表现要比ios好,不会出现此问题 然而在移动端里,基本上所有手机,页面滚动的时候,任何js都不会执行,所以寻找css的方法(且js方法比较消耗性能) 各类大网站的解决方法:一般是页面上避免悬挂元素,或者有悬挂元素时,避免产生软键

移动端开发ios下遇到的坑

position: fixed引发的问题 在开发移动端页面时,尽量少使用固定定位布局,因为会在ios系统上引发一系列不可控的状况,比如 1.使用fixed定位的元素会随着页面的滑动而抖动: 2.页面滑动失去惯性: 3.可能在滑动过程中引发瞬间的页面错乱,停止后恢复正常: 在需要使用fixed定位的时候,就与主体页面分离,保证层级关系,不影响主体页面. tips:-webkit-overflow-scroll:touch 属性也不能与fixed定位一起使用 new Date( )的bug ios系

iOS 下的相册与图片处理

iOS 下的相册与图片处理 需求 很多公司项目中都会使用到相册,以及相机,保存图片,从相册中选取图片等等操作.本文将详细介绍该功能如何实现优化,以及使用一些优秀的第三方库来辅助完成我们的需求. photos framework 的使用 Photos Framework reference Classes PHAdjustmentData /* When a user edits an asset, Photos saves a PHAdjustmentData object along with

记录遇到的ios下的bugs

开个帖子不定期更新,记录遇到的ios下的bugs,其中有些已经解了,有些还是无解 1 UIWebView内存泄漏 这个到ios7下还无解,ios8未看 2 UIFont copy 在ios6下crash 这个想不明白为啥,也许是以前的coder用了什么黑魔法 3 UITextView 和 UITextField 的键盘出现的消息的顺序不一样的问题 // UIKeyboardDidShowNotification ---> UITextViewTextDidBeginEditingNotifica