通常,单页导航会随着左侧目录的点击滚动到相应的内容部分,以提供流畅的用户体验。然而,最后一项通常因为高度不足,无法完全置顶显示。
最近做了一个工具库,首页的时候用到了这个功能。

即在单页导航中,当点击左侧目录中的最后一项时,无法将页面内容置顶显示。这个问题在绝大部分导航中都存在,尤其是当不使用整页切换效果时。

最初,我尝试使用 JavaScript 来计算页面的高度,并将最后一项的高度从总页面高度中减去。虽然这个方法有效,但需要处理页面缩放等问题,稍显复杂。

最终,我采用了一种更简单的方法,即使用 CSS 的计算功能,将最后一个元素的高度从 100vh 中减去。
这样最后的元素高度不会变,然后100vh根据页面的大小随时变化。解决了这个问题。

最后附上这块的代码

var divElement = document.getElementById("section");
var lastheight = divElement.offsetHeight + parseFloat(getComputedStyle(divElement).marginTop) + parseFloat(getComputedStyle(divElement).marginBottom);
footElement.style.cssText += 'height: calc(100vh - ' + lastheight + 'px);';
--- EOF ---
本文链接:
订阅本站:feed
声明:博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!

标签: none

添加新评论