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

如何让inner div完全被outer div包含,避免内容溢出?

问题:让子元素完全被容器包含,不溢出padding区域

我希望.inner(子元素)能够完全被.outer(容器)包含,即便是.inner中的内容发生溢出,也不会超出.outer的padding区域。期望.inner可根据内容需求自适应高度,尝试过多种overflow设置,也用border替代过padding,但.inner始终溢出.outer,寻求解决方案。

当前代码

CSS

.inner {
  /* Overflow */
  overflow-wrap: break-word;
  word-break: break-all;
  overflow: hidden;
  color: white;
}

.outer {
  width: 100px;
  height: 100px;
  display: inline-block;
  background-color: black;
  padding-top: 15px;
  padding-bottom: 15px;
  overflow: hidden
}

HTML

<div class="outer">
  <div class="inner">
    Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since
  </div>
</div>

解决方案

问题根源是.outer设置了固定height:100px,而CSS默认盒模型中,padding是额外计算在高度之外的,这意味着.outer的内容区域高度实际为100px - 15px*2 = 70px,当.inner内容高度超过70px时就会溢出。提供两种可行方案:

方案一:容器自适应高度(保留最小高度)

去掉.outer的固定高度,改用min-height,让容器根据内容自动撑开,同时保持最小高度要求:

.inner {
  overflow-wrap: break-word;
  word-break: break-all;
  color: white;
}

.outer {
  width: 100px;
  min-height: 100px;
  display: inline-block;
  background-color: black;
  padding-top: 15px;
  padding-bottom: 15px;
}

方案二:固定容器总高度(padding计入总高度)

如果必须保持容器总高度为100px,使用box-sizing: border-box让padding计入总高度,同时限制.inner的最大高度:

.inner {
  overflow-wrap: break-word;
  word-break: break-all;
  overflow: hidden;
  color: white;
  max-height: 100%;
}

.outer {
  width: 100px;
  height: 100px;
  display: inline-block;
  background-color: black;
  padding-top: 15px;
  padding-bottom: 15px;
  box-sizing: border-box;
  overflow: hidden;
}

内容的提问来源于stack exchange,提问作者h-k-dev

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 18:57:05