【发布时间】:2014-08-18 15:45:28
【问题描述】:
请考虑以下 jsfiddle 以供参考:
<div class='outer'>
<div class='inner'>
Inner.
</div>
Outer.
</div>
div.outer {
position: absolute;
left: 10px;
top: 10px;
border: 5px solid green;
padding: 10px;
}
div.inner {
position: absolute;
left: 0;
top: 100%;
border: 10px solid red;
padding: 15px;
}
如您所见,“内部”框(带有红色边框)相对于外部的 padding-box 定位:left:0 将其定位在外部边框的右侧,并且top:100% 似乎意味着“100% 的内容加上填充,但不包括边框”。
不幸的是,将box-sizing: border-box 添加到外部 div 似乎没有任何效果。
我想将一个子元素直接放置在其父元素的 border-box 下方,即无论它们有多粗,两个边框都应该紧靠在一起。这可能吗?
【问题讨论】:
-
你可以抵消
innerjsfiddle.net/apmmw2ma/1 -
@DavidAlsbright:谢谢,但是 1)边界仍然重叠;我希望内部的边界框完全低于外部的边界框; 2)这要求我知道外边框的厚度。
-
你能制作 div 的兄弟姐妹并只使用completely standard flow吗?
-
只是好奇,这是什么用例。为什么不在第一个 div 之后使用非子 div?
-
好的,感谢您的所有反馈。很遗憾这是不可能的。这对我来说似乎是一个疏忽;
top: x%的含义实际上应该取决于父级的box-sizing值...
标签: html css css-position