gpt4 book ai didi

javascript - scrollIntoView 不包含边框

转载 作者:行者123 更新时间:2023-12-03 00:33:20 29 4
gpt4 key购买 nike

我使用的是 Javascript(没有 jQuery),并且我有一个弹出的子菜单元素,它有时会超出查看器的底部,所以我使用scrollIntoView让子菜单立即移动以包含所有内容行项目完全在视口(viewport)内(即子菜单的底部与视口(viewport)的底部对齐。

document.getElementById('sub1').scrollIntoView(false);

但是,我随后向该子菜单元素添加了一个 2px 边框,尽 pipe 菜单的行项目完全显示在查看器中,但边框却没有;它仍然远离视口(viewport)的底部。有没有办法在scrollIntoView中包含边框而不向页面添加其他元素?

提前致谢。

最佳答案

嗯..根据 CSS 盒模型 ( official W3 spec ),边框实际上位于元素本身的区域之外(就像边距,与填充不同)

所以..我想你所要做的就是获取元素的top-border的值(动态)并调整页面滚动的计算(已经回答here )并发现了一点调整here

var element = document.getElementById('sub1');
element.scrollIntoView(false);
document.documentElement.scrollTop -= element.style.borderTopWidth.slice(0, -2);

关于javascript - scrollIntoView 不包含边框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53763137/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com