微信小程序:position: fixed导致的滚动时页面元素不跟着动的问题

由于对js的不熟悉,花了近半个小时才解决这个问题,现在记录下:

nofixed.gif

项目需要如上图所示的一个列表页面,唰唰唰…没花多长时间就完成了,在元素较少时,不需要滚动,使用一切正常;

后来添加了更多的item后,页面需要滚动,但是滚动的效果感觉莫名其妙,如下图:

fixed.gif

OMG???居然有部分元素不随着页面一起滚动…(キ`゚Д゚´)!!…一脸懵逼中…

没办法,有病得治,有Bug赶紧改…百度谷歌必应了一阵,后来看代码才发现,css中使用了position: fixed;

果断去掉,修改下css,发现,果然是因为设置这个属性导致该控件位置固定,不再随着页面而滚动…

搜了下postion属性,加强了解下:

position有四个属性值:relative,absolute,static,fixed

  1. static(静态定位)
    默认值。没有定位,元素出现在正常的流中(忽略 top, bottom, left, right 或者 z-index 声明)。
  2. relative(相对定位)
    生成相对定位的元素,通过top,bottom,left,right的设置相对于其正常(原先本身)位置进行定位。可通过z-index进行层次分级。
  3. absolute(绝对定位)
    生成绝对定位的元素,相对于 static 定位以外的第一个父元素进行定位。元素的位置通过 “left”, “top”, “right” 以及 “bottom” 属性进行规定。可通过z-index进行层次分级。
  4. fixed(固定定位)
    生成绝对定位的元素,相对于浏览器窗口进行定位。元素的位置通过 “left”, “top”, “right” 以及 “bottom” 属性进行规定。可通过z-index进行层次分级。

简书:ThinkinLiu 博客: IT老五


IT老五(it-lao5):关注公众号,一起源创,一起学习!


发表评论

必填项已用*标注

5 + 3 =