【问题标题】:Padding for div inside of a div在 div 内填充 div
【发布时间】:2018-05-04 03:04:47
【问题描述】:

嘿伙计们,我目前正在学习 html 和 css 我只是想问一下我在 div 中有一个 div 。我只希望外部 div 的背景颜色为蓝色,内部 div 距离外部 div 的顶部和左侧 50px。我的内部 div 的尺寸是 200px x 80px 但是当我尝试为内部 div 应用填充时它只是将其尺寸增加 50,而不是将其与外部 div 隔开,并保持粘在外部 div 的边缘。 如果这可能是原因,我在内部 div 内也有一个 iframe。

HTML

.contact {
  background-color: rgba(0, 102, 204,0.7);
  width: 100%;
  height: 300px;
  z-index: 2;
  padding: 50px;

}
.social {
  background-color: white;
  border-radius: 4px;
  width: 150px;
  height: 30px;

}
#fb {
  float: left;
  padding: 50px;
}
<div class="contact">
  <div class="social">
      <iframe id="fb" src="Somelink" width="200" height="21" style="border:none;overflow:hidden" scrolling="no" frameborder="0" allowTransparency="true" allow="encrypted-media"></iframe>
  </div>
</div>

【问题讨论】:

  • 向我们展示您的代码,以便我们知道您已经尝试过什么

标签: html css


【解决方案1】:

我理解正确吗?这是你想要的吗?

.outer {
  background-color: #00f;
  padding: 50px;
  display: inline-block;
}

.inner {
  background-color: #f00;
  width: 200px;
  height: 80px;
}

.inner > * {
  background-color: #fff;
}
<div class="outer">
  <div class="inner">
    <aside>This is your iframe or whatever</aside>
  </div>
</div>

【讨论】:

  • 是的,但就像遵循您的代码一样,它也提供了从顶部到外部 div 的间距
  • 我没有遵循预期的结果。你能详细说明一下吗?
  • 嘿,从我的代码中可以看出,我的内部 div 位于外部 div 的左上角,当我添加填充 50px 时,它只会增加内部 div 的尺寸而不是居中或间距就像你的例子。顺便说一句,感谢您的帮助
  • 你有很多额外的 CSS 并没有真正做任何事情。为什么 iframe 有 float:left 例如? .social 上的 margin-top 也有点错位,我认为?如果你能解释一下你的目标是什么,那真的很有帮助。
  • 哦,iframe 中的 float:left 是因为我计划在内部 div 中添加其他元素,这些元素也将放置在这个 iframe 旁边。至于那个边距顶部和位置:是的,这是错误的,因为我只是在尝试调整社交内部接触,而填充没有像我想象的那样工作。
【解决方案2】:

这是因为实际的内容宽度是通过width PLUS padding 与默认的“box-sizing: content-box”计算出来的。

您可以将 box-sizing 设置为 border-box 以获得 => 总宽度 = 宽度 + 填充,而不是“总宽度 = 宽度”

box-sizing


编辑:我刚刚再次阅读了您的问题。 填充推动了当前元素的 content 而不是元素本身。所以你必须在父容器上设置一个填充。

【讨论】:

  • 非常感谢你把它放在父容器上
猜你喜欢
  • 2016-01-27
  • 1970-01-01
  • 2011-08-20
  • 1970-01-01
  • 1970-01-01
  • 2018-05-28
  • 2012-09-02
  • 2016-11-27
  • 2011-04-17
相关资源
最近更新 更多