移动端position:fixed小结

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了移动端position:fixed小结相关的知识,希望对你有一定的参考价值。

fixed在移动端是个坑,兼容性就是个极品。

ios的bug比较多,详见https://github.com/maxzhang/maxzhang.github.com/issues/2

作者建议我们安卓还是使用fixed比较好,ios用iscroll来填坑比较好


关于fixed一些小细节还可以参考一下:

https://github.com/maxzhang/maxzhang.github.com/issues/11

里面提及到的例子:http://output.jsbin.com/omaCOSir/latest

布局的方法是:

<header class="relative">
    <div class="fixed">...</div>
</header>
<div class="main"></div>
<footer>
    <div class="fixed">...</div>
</footer>

有一点不明白的是为什么要用relative来表示header和footer,虽然真正起作用的是fixed。


如果fixed不支持,有一个我个人认为很山寨的方法,就是用absolute,onscroll的时候计算$(window).scrollTop(),可是这个方法首先在展示的时候不完美,一点是有时候的计算是小数点,所以会空出1个px(当然可以-1px来补),还有就是频繁计算和重新渲染。


安卓4.4.2有些机子是可以支持的,有些的支持度不够,渲染的时候不给力,但勉强可以渲染,开启硬件加速更佳


没有比较好的办法,不过有无敌方法:iScroll

以上是关于移动端position:fixed小结的主要内容,如果未能解决你的问题,请参考以下文章

虚拟键盘冲击移动端fixed布局的解决方案

移动端fixed定位固定在底部 ios手机里为啥会遮住一半 滑动一下才显示全部 css

ios移动端部分手机不支持background-attachment: fixed 的解决办法

解决ios微信移动端的position: fixed; 支持性不好的问题 && 禁用下拉暴露黑底的功能

实现移动端顶部与底部固定,内容区优化的效果

移动端positon:fixed;这个属性iphone手机上有问题吗?