You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

fullpage.js最后一屏(页脚)高度适配:滚动后完整显示页脚并保留上屏部分内容

实现滚动至底部时完整显示页脚并保留内容可滚动的方案

嘿,这个需求其实挺贴合日常场景的,我给你准备了两种靠谱的实现方式,你可以根据自己的实际场景来选:

方案一:CSS Grid布局(基础版,适配内容多少两种情况)

这种方式最省心,不管你的上屏内容是多是少,都能自动适配:当内容不够一屏时,页脚自动贴在视口底部;当内容超过一屏时,滚动到底部就能完整看到页脚,同时上面的内容可以正常滚动,完美满足你“剩余可用高度由上一屏填充”的要求。

直接上代码:

<!DOCTYPE html>
<html lang="en">
<head>
    <style>
        html, body {
            margin: 0;
            padding: 0;
            min-height: 100vh;
            /* 核心:用Grid把页面分成内容区和页脚区 */
            display: grid;
            grid-template-rows: 1fr auto;
        }

        .content {
            padding: 20px;
            background-color: #f0f0f0;
            /* 如果需要内容区内滚动,加上下面这行 */
            /* overflow-y: auto; */
        }

        .footer {
            height: 60px; /* 改成你需要的小高度 */
            background-color: #333;
            color: #fff;
            display: flex;
            align-items: center;
            justify-content: center;
        }
    </style>
</head>
<body>
    <div class="content">
        <!-- 这里放你的上屏内容,复制多段测试滚动效果 -->
        <p>上屏内容示例...滚动到底部就能看到完整页脚啦</p>
        <p>上屏内容示例...滚动到底部就能看到完整页脚啦</p>
        <p>上屏内容示例...滚动到底部就能看到完整页脚啦</p>
        <p>上屏内容示例...滚动到底部就能看到完整页脚啦</p>
        <p>上屏内容示例...滚动到底部就能看到完整页脚啦</p>
    </div>
    <footer class="footer">我的小高度页脚</footer>
</body>
</html>

原理很简单:grid-template-rows: 1fr auto 让内容区占满除页脚外的所有可用空间,页脚只占用自身设置的高度。完全不需要JS,纯CSS就能搞定。

方案二:CSS Sticky定位(进阶版,页脚滚动到视口后固定)

如果你想要页脚在滚动到进入视口后就固定在底部,而不是只有滚动到底部才显示,那这个方案更适合你。这样用户在浏览后面的内容时,页脚始终完整可见,同时还能继续滚动查看上屏的内容。

代码示例:

<!DOCTYPE html>
<html lang="en">
<head>
    <style>
        html, body {
            margin: 0;
            padding: 0;
        }

        .content {
            padding: 20px;
            background-color: #f0f0f0;
            /* 给内容区加个最小高度,确保初始页脚在视口外,方便测试滚动 */
            min-height: 150vh;
        }

        .footer {
            height: 60px;
            background-color: #333;
            color: #fff;
            display: flex;
            align-items: center;
            justify-content: center;
            /* 核心:sticky定位+bottom:0,让页脚滚动到位置后固定在底部 */
            position: sticky;
            bottom: 0;
        }
    </style>
</head>
<body>
    <div class="content">
        <p>滚动我试试!当页脚进入视口后就会固定在底部,你可以一直滚动查看上面的内容~</p>
        <p>滚动我试试!当页脚进入视口后就会固定在底部,你可以一直滚动查看上面的内容~</p>
        <p>滚动我试试!当页脚进入视口后就会固定在底部,你可以一直滚动查看上面的内容~</p>
    </div>
    <footer class="footer">固定显示的小页脚</footer>
</body>
</html>

这个方案的关键是position: sticky,它结合了相对定位和固定定位的特点:在元素进入视口前是相对定位,进入后就变成固定定位,刚好满足你要的“滚动至刚好可见完整页脚,同时仍能查看上一屏部分内容”的效果。

内容的提问来源于stack exchange,提问作者user8690699

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 03:30:25