收藏
回答

页面超出一屏后,fixed元素位置偏移0.5px?

<!--index.wxml-->
<view class="container">
  <view class = "bg">
    <button class = "button" bindtap="onShowMask" >show</button>
  </view>
  <view class="fix">
    fixed nav bar
  </view>
  <view class="mask" wx:if="{{showMask}}"  bindtap="onClose"></view>
</view>

// index.js
// 获取应用实例
const app = getApp()

Page({
  data: {
    showMask: false
  },
  // 事件处理函数
  onShowMask() {
    this.setData({
      showMask: true
    })
  },
  onClose () {
    this.setData({
      showMask: false
    })
  }
})

/**index.wxss**/
.fix {
  position: fixed;
  width: 100%;
  height: 50px;
  background: red;
  top:0;
  padding-top: 50px;
}


.mask {
  width: 100%;
  height: 100%;
  position: fixed;
  left: 0;
  top: 0;
  background: rgba(0,0,0,0.3);
}
.button {
  position: absolute;
  top: 50%;
}
.bg {
  display: block;
  background: linear-gradient(#ffffff, yellow);
  height: 1500px;
  width: 100%;
}
.container {
  display: block;
}


如图所示,顶部是一个fixed nav bar,底部是一个超出一屏的view,滚上去之后点button展示一个fixed mask遮罩,有一定概率(比较常见)会出现一个0.5px的黄边,也就是黄色的背景(手机上看非常明显),不知道是nav bar掉下来了还是整个视窗上面多出来了0.5px

项目中自定义nav bar比较多,基本上有弹窗就会遇到这个问题。。。

ios手机可复现,开发者工具上看不到

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

2 个回答

登录 后发表内容