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

禁用body滚动后,div内scrollview无法工作的原因排查

问题解决:禁用body overflow后内部div无法滚动的修复方案

你遇到的核心问题是:设置body { overflow:hidden }后,内部div的height:100%没有有效的参照高度。默认情况下html和body的高度由内容撑开,而非视口的100%,导致div无法撑满视口,自然没法滚动。

直接按下面的方式修改代码就能解决:

<!DOCTYPE html>
<html style="height: 100%; margin: 0; padding: 0;">
<body style="overflow:hidden; height: 100%; margin: 0; padding: 0;">
    <div style="height:100%; width: 100%; overflow: auto;">
        <pre style="margin: 0; padding: 10px; white-space: pre-wrap;">
            <code><?php echo $content; ?></code>
        </pre>
    </div>
</body>
</html>

关键修改点:

  • 给html和body都设置height:100%,同时清除默认的margin和padding,让它们的高度完全匹配视口
  • 精简div样式,保留核心的height:100%和overflow:auto确保滚动生效
  • 给pre添加white-space: pre-wrap,避免超长代码横向溢出(可根据实际需求调整)

修改后,body的全局滚动被禁用,但内部div会基于视口高度撑开,内容超出时自动显示滚动条并支持正常滚动。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.23 05:07:06