ios下position:fixed固定定位失效问题

727 阅读1分钟

背景

微信小程序中使用fixed固定定位封装自定义导航栏navbar,也算是比较常见的需求了,一般都是用position:fixed去做一个固定定位。

实现思路

.navbar{
    position:fixed;
}

如果没设置top,bottom,left,right等属性,那么会相对于原先位置进行固定,在绝大部分机型都是可以实现,没有问题。

问题

机型:iphone13pro
系统版本:ios16
出现问题:导航栏被固定到屏幕中间

解决

加上top属性即可解决,代码实现如下

.navbar{
    position:fixed;
    top:0;
}

记录一次兼容性问题,不过这样的兼容性问题在开发过程中我们完全可以避免,这其实就是代码质量导致的,在写一些元素定位属性的时候,我们要把位置信息写上(top,bottom,left,right)固定元素位置,这样做可以提高代码可读性,也可以避免一些奇怪的bug