Container Div 不包含内部 div

S N*_*ash 1 html css

这是我的代码:

.right {
  position: absolute;
  right: 0px;
  width: 300px;
  border: 3px solid #73AD21;
  padding: 10px;
}
body {
  margin: 0;
  padding: 0;
}
#a {
  border: 3px solid #73AD21;
  position: relative;
  width: 100%;
}
Run Code Online (Sandbox Code Playgroud)
<div id="a">
  <div class="right">
    <p>This is a Test.</p>
  </div>
</div>
Run Code Online (Sandbox Code Playgroud)

请看小提琴:

https://jsfiddle.net/9d8wq0by/

Jos*_*ier 5

它不包含子元素,因为绝对定位的元素已从正常流中删除。作为替代方案,您可以将元素浮动到右侧,然后向父元素添加 clearfix。

您还可以添加box-sizing: border-box到两个元素以考虑边框并将其包含在元素高度/宽度计算中。

更新示例

.right {
  float: right;
  width: 300px;
  border: 3px solid #73AD21;
  padding: 10px;
}
#a {
  border: 3px solid #73AD21;
  position: relative;
  width: 100%;
  overflow: auto;
}
#a, .right {
  box-sizing: border-box;
}
Run Code Online (Sandbox Code Playgroud)

或者,您还可以添加margin-left: auto

更新示例

.right {
  width: 300px;
  border: 3px solid #73AD21;
  padding: 10px;
  margin-left: auto;
}
Run Code Online (Sandbox Code Playgroud)