这是我的代码:
.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)
请看小提琴:
它不包含子元素,因为绝对定位的元素已从正常流中删除。作为替代方案,您可以将元素浮动到右侧,然后向父元素添加 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)