BackTop组件点击后页面跳到顶部但位置偏移怎么办?
在用Ant Design的BackTop组件时,点击后页面跳到顶部但总比预期位置低20px,调整了target属性也不行,是什么原因?
场景是给有padding-top的容器滚动时触发BackTop,代码这样写的:
<BackTop target={() => document.getElementById('content')}>
<Button>回到顶部</Button>
</BackTop>
容器设置了padding-top: 20px,滚动到顶部时总停留在padding区域底部,而不是内容区真正顶部。试过设置scrollToFn手动修正位置但动画会卡顿…
你可以试试这个解决方案:
这个方法直接把padding值从scrollTop里减掉,能让滚动位置精准落到内容区域顶部。之前我也卡在这个问题上,调试发现padding值会影响滚动计算,用这个方法解决了。