我有一个足够长的简单html页面,用户需要滚动它。我想在页面底部设置一个div,其位置为postfix:fixed,并且在他的内部为textarea。
当用户单击文本区域并且出现虚拟键盘时,我希望div位置保持在底部,而不是在页面中间,如下面的图片所示:javascript - 固定文本区域时,iOS Safari CSS位置已修复-LMLPHP

这是我使用的代码:https://jsfiddle.net/capz19yg/

    .inputFixed{
        position:fixed;
        bottom:0px;
        right:0px;
        width:100%;
        height:50px;
        background-color:lightgrey;
    }

    textarea{
        height:40px;
        width:300px;
        position:absolute;
        bottom:5px;
        right:10px;
        padding:0px;
        margin:0px;
        border:none;
    }


<div class="inputFixed">
    <textarea></textarea>
</div>

有没有解决的办法?也许一些JavaScript进行更正?

最佳答案

问题可能与iOS Mobile Safari中的一个众所周知的错误有关,该错误发生在滚动/焦点跳跃和固定位置上。许多人对此进行了撰写,许多人进行了修改或修改其设计以部分解决该问题。

我引用一下,看看:

  • Stackoverflow: Safari in ios8 is scrolling screen when fixed elements get focus
  • Issues with position fixed & scrolling on iOS
  • Mobile Safari (Whyyyy?!)
  • 10-02 18:13
    查看更多