Popper.js与fixed定位元素结合时出现意外24px偏移的解决方案咨询
Popper.js与fixed定位元素结合时出现意外24px偏移的解决方案咨询
我在将Popper.js与固定定位元素结合使用时遇到了一个问题。
场景说明:
- 我有一个设置了
position: fixed和top: 24px的<div>元素:
<div id="fixed-element" style="position: fixed; top: 24px;"> <!-- Content --> </div>
- 在这个元素下方,我放置了另一个
<div>,想要用Popper.js的strategy: 'fixed'来定位它:
const reference = document.querySelector('#fixed-element'); const popper = document.createElement('div'); document.body.appendChild(popper); Popper.createPopper(reference, popper, { strategy: 'fixed', modifiers: [ { name: 'offset', options: { offset: [0, 10], }, }, ], });
问题:
当我应用Popper.js时,它会自动把top属性已有的24px加到指定的偏移量上,导致popper元素比预期位置低了24px。我希望Popper能考虑到已有的24px,只应用我指定的偏移量。
疑问:
有没有办法配置Popper.js让它考虑这个24px的top定位?或者我能不能获取这个值然后手动调整偏移量?还有没有更好的方法来处理固定元素的这种定位需求?
备注:内容来源于stack exchange,提问作者Dasma
相关产品推荐
相关产品推荐

