以下是给定的HTML代码:
<div class="outer">
<div>
<div class="inner">A</div>
</div>
</div>
<div class="outer">
<div class="inner">B</div>
</div>
以下是相关的CSS代码(无前缀):
.outer {
display: box;
box-orient: vertical;
height: 100px;
width: 100px;
background: red;
margin: 10px;
}
.inner {
height: 50px;
margin-top: 10px;
background: green;
}
这里有一个CodePen。
A
被包装在一个 <div>
中,因此它的外边距会被忽略。
问题:我如何使用 flex box 模型实现 B
对于 A
的行为(外边距)?
注意:包装器可以多层嵌套。
目标浏览器:最新版 Chrome/Safari/iOS。
非常感谢您的帮助!
编辑:感谢 @JoséCabo,我想到了这个解决方案:
.outer {
display: flex;
flex-direction: column;
height: 100px;
width: 100px;
background: red;
margin: 10px;
}
.inner {
height: 50px;
margin-top: 10px;
background: green;
}
Chrome:
Safari:
很遗憾,如@cimmanon所述,它在Safari中不起作用,因此我仍然需要一些帮助。
.outer
和.inner
之间的那些div包装器一起工作,就像(A)中一样。谢谢! - Stephan Bönnemann-Walenta