收藏
回答

动态添加 position:fixed top不生效iphone5s

框架类型 问题类型 终端类型 操作系统 微信版本 基础库版本
小程序 Bug 客户端 iOS 6.7.0 2.1.1

机型:iphone 5s

系统版本:9.3.5

微信版本:6.7.0

需求:滑动页面到指定位置 固定元素到顶部

问题:滚动到指定位置 添加fixed top属性不生效 元素固定在初始位置

关于sticky:部分Android不支持这个属性,目前是采用,position: sticky,滚动到指定位置 加position: fixed覆盖,这样支持sticky的会先生效,再加fixed不影响,不支持的fixed会生效。

回答关注问题邀请回答
收藏

1 个回答

  • 永恒君
    永恒君
    2018-07-02
    1. css 的层叠上下文 (比如 flex/transform) 会使子级的 fixed 失效为普通的 absolute。

    2. 小程序的 dom 操作不太优秀,直接赋 style 不如添加 class 效果好。

    2018-07-02
    有用
    回复 2
    • 孙新强
      孙新强
      2018-07-03

      非常感谢您的回答!

      1. 要固定的view父级元素就是普通的view,再外层就是page,父级只有display:block;box-sizing:border-box;应该没有叠层上下文的影响,就算失效为absolute,那top值也应该生效

      2. 现在就是通过添加class加的fixed

      3. 我目前的解决方案是: 认为ios都支持sticky(目前我们公司最低的iphone5s是支持的),Android才加fixed固定

      4. ps: 我用远程调试的时候,审查元素,审查选中的元素位置是对的,但是实际显示的位置不对。不知道是开发者工具的问题,还是在谷歌浏览器审查元素的时候也会发生类似情况

      2018-07-03
      回复
    • 永恒君
      永恒君
      2018-07-03回复孙新强

      恩恩,思路暂时都没问题,那就看具体情况吧。

      截图或者代码片段来一份?

      617754841 // QQ


      2018-07-03
      回复
登录 后发表内容