标题在Ipad中弹出键盘后改变其位置:[fixed]

时间:2012-12-17 07:46:52

标签: javascript html css ipad

我在Ipad上测试我的应用程序,我面临的问题是我向下滚动我的表单,我的顶部页眉栏是fixed所以当我点击{{{ 1}}然后顶部标题栏隐藏和我的侧边栏Textbox和标题相同也上升。对于这个问题有任何解决方案。我发现很多文章,但大多数都是黑客一个对未来的前景不利,所以任何好的解决方案都会有很大的帮助。

fixed

}

5 个答案:

答案 0 :(得分:2)

你使用过position:relative吗?

使用position:absolute你必须保持pos。 pos中的绝对div。相对div。

只有位置相对和位置固定的工作如下:

    .outerheader_div{
      position:relative;
    }
    .header_fixed{
      position:absolute;
    }

    .outersidebar_div{
      position:relative;
    }
    .sidebar_fixed{
      position:absolute;
    }

答案 1 :(得分:1)

我很确定这取决于ipad如何以输入为中心。

当元素被修复时,它们会移动,因为它们固定在那个位置。您应该发现整个页面移动尝试放入一些lorem ipsum并查看是否可以复制。

答案 2 :(得分:1)

我认为position:fixed是问题所在。它在移动网络中很古怪。看看您是否可以使用position:absolutez-index来实现用户界面。

搜索:“位置:iOS设备支持固定”会为您提供大量有关此主题的资源,如果您确实必须使用fixed

答案 3 :(得分:0)

如果没有更多信息,很难给出答案。

您是否在页面上使用JQuery?如果是这样,您可以尝试添加     的 data-tap-toggle="false" 到标题div。

同样在css中,您应为固定元素指定 left:0;

答案 4 :(得分:0)

这适用于iOS6,但遗憾的是不适用于iOS7:http://jsbin.com/wayurebu/1

该代码适用于固定标头,但不适用于固定页脚。更改documentElement.className和将固定定位元素切换为visible的组合会强制渲染引擎重新计算固定视口,并重新定位所有固定元素。

需要500毫秒计时器,因为有时在触摸滚动时,滚动事件似乎失火。

<style>
#fix1, #fix2 { display: none; position: fixed; top: 0; left: 0; height: 1px; width: 1px; z-index: 2;}
.head1 #fix1, .head2 #fix2 { display: block; }
</style>
<div id=fix1></div>
<div id=fix2></div>
<script>
var toggleTimer;
var headerToggle = 0;
$(window).on('scroll', function() {
    function toggle() {
        var toggleit = !(headerToggle++ % 2);
        $(document.documentElement).toggleClass('head1', toggleit);
        $(document.documentElement).toggleClass('head2', !toggleit);
    }
    toggle();
    clearTimeout(toggleTimer);
    toggleTimer = setTimeout(toggle, 500);
});
</script>