首页 > 解决方案 > 滚动到具有偏移且没有元素填充/边距/边框的元素?

问题描述

我有一个可以平滑滚动到元素的功能。我有一个固定的导航栏,所以我减去了导航栏的高度,这样它就不会覆盖内容。

问题:它滚动到的元素有一个填充顶部,所以当滚动到元素时,会有一点间隙。见附件截图

截屏

我的功能:

const element = document.querySelector(selector)

let scrollToPosition
const elementPosition = element.getBoundingClientRect().top

const fixedHeaderHeight = document.querySelector('.fixed-navbar')
    .offsetHeight
scrollToPosition =
    elementPosition + window.pageYOffset - fixedHeaderHeight

window.scrollTo({
    top: scrollToPosition,
    behavior,
})

如何从元素中删除填充/边距/边框?

标签: javascript

解决方案


推荐阅读