次の 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>
ため、マージンは無視されます。
Q:フレックス ボックス モデルで (マージン)B
に対する の動作を実現するにはどうすればよいですか?A
注: div ラッパーは、複数レベルの深さになる可能性があります
ターゲティング: 最新の 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;
}
クロム:
サファリ:
残念ながら、@cimmanon が述べたように Safari では機能しないため、まだ助けが必要です。