ios移动端fixed定位元素在滑动页面时上下抖动的解决方案

根据实际代码,对比以下三种情况进行调整

目录

一、滚动元素不要包含fixed元素。

二、滚动元素设置absolute定位。

三、fixed定位元素增加transform样式。


一、滚动元素不要包含fixed元素。

<!-- 滚动元素不要包含fixed元素 代码示例如下-->
<body>
    <div class="header">fixed固定元素</div>
    <div class="main">滚动内容</div>
</body>

<!-- 滚动元素和fixed元素在同一容器下时就会出问题 代码示例如下-->
<body>
    <div>
        <div class="header">fixed固定元素</div>
        <div class="main">滚动内容</div>
    </div>
</body>

二、滚动元素设置absolute定位。

.header {
    width: 100%;
    height: 50px;
    position: fixed;
    top: 0px;
}

.main {
    width: 100%;
    height: auto;
    position: absolute;
    box-sizing: border-box;
    overflow-y: scroll;
}

三、fixed定位元素增加transform样式。

.header {
    width: 100%;
    height: 50px;
    position: fixed;
    top: 0px;
    transform: translateZ(0);
    -webkit-transform: translateZ(0);
}

注:在添加transform样式后发现fixed定位元素上边有1px缝隙,暂时没有找到原因,通过设置top:-1px;临时解决。

 参考文章:https://www.jb51.net/article/153342.htm

https://www.cnblogs.com/ranyonsue/p/14069643.html

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值