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

含预格式化空白的内层div不遵循父元素右padding问题求助

预格式化文本滚动时不遵守父元素右内边距的修复方案

问题原因

当内层div设置white-space: pre后,它的宽度完全由内容长度决定,不会受父元素的padding约束。父元素开启overflow-x: auto触发滚动时,内层内容会直接顶到父元素内容区域的最右边缘,看起来像是忽略了父元素的右padding——本质是父元素的padding属于内容区域外的空间,内层元素的宽度计算不会包含这部分。

两种可行修复方法

方法一:给内层元素添匹配的右内边距

直接给.inner设置和父元素相同的右padding,让内容滚动到最右侧时仍保留间隔:

.outer {
  width: 10rem;
  overflow-x: auto;
  background: grey;
  padding: 3rem;
  border-radius: 1rem;
}

.inner {
  white-space: pre;
  padding-right: 3rem; /* 和父元素padding值一致 */
}

方法二:将内层元素设为行内块元素

把.inner改成inline-block,让它自适应内容宽度的同时,自动尊重父元素的padding范围:

.outer {
  width: 10rem;
  overflow-x: auto;
  background: grey;
  padding: 3rem;
  border-radius: 1rem;
}

.inner {
  white-space: pre;
  display: inline-block;
}

这两种方法都能满足需求:预格式化文本保持不换行、支持水平滚动,同时四边都有完整的内边距。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 11:20:33