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

如何给容器添加padding使滚动内容不触碰上下边框?

解决滚动容器上下padding不生效的问题

问题出在当容器设置overflow-y: scroll时,浏览器的渲染逻辑会让容器的padding和滚动内容区域重叠,导致滚动到首尾时内容直接碰到容器边框。你之前尝试的内层容器思路是对的,只是可能写法有误,下面是可行的方案:

方案:使用内层容器承载padding

把外层容器的padding移除,给内部新增一个div容器,将padding设置在这个内层容器上,同时确保内层容器宽度占满外层容器:

修改后的CSS:

.container {
  height: 100px;
  width: 300px;
  overflow-y: scroll;
  background-color: black;
}

.inner {
  padding: 10px;
  color: white;
  width: 100%;
  box-sizing: border-box; /* 确保padding不会撑大内层容器宽度 */
}

对应的HTML:

<div class="container">
  <div class="inner">
    <li>dogs</li>
    <li>dogs</li>
    <li>dogs</li>
    <li>dogs</li>
    <li>dogs</li>
    <li>dogs</li>
    <li>dogs</li>
    <li>dogs</li>
    <li>dogs</li>
    <li>dogs</li>
    <li>dogs</li>
    <li>dogs</li>
    <li>dogs</li>
    <li>dogs</li>
    <li>dogs</li>
  </div>
</div>

原理说明

外层容器负责提供固定高度和滚动功能,内层容器负责添加padding和承载内容。box-sizing: border-box能保证内层容器的padding不会超出外层容器的宽度,避免出现横向滚动条。这样滚动时,内容的首尾会被内层容器的padding隔开,不会触碰外层容器的边框。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.17 14:47:07