[CS]エッジオーバーラップ(エッジ折りたたみ)
7071 ワード
利益の重複現象とは何ですか。
隣接するブロック要素の上下端の毛利オーバーラップ現象.
境界の大きさは、隣接する境界においてより大きな値を有する境界値が重畳される.
1.ブロック要素の上下の境界が重なる
要素と要素の間に
margin-top
またはmargin-bottom
の空間がある場合、より高い値が適用されます.▆▆▆▆▆30px+60px=90px▆より高いマージン値60 pxにのみ適用されます.
<body>
<div class="first"></div>
<div class="second"></div>
</body>
<style>
div {
width: 50px;
height: 50px;
}
.first {
margin-bottom: 30px;
background-color: red;
}
.second {
margin-top: 60px;
background-color: green;
}
</style>
2.親子間の利益が重なる
親要素と子要素が存在する場合、子要素の
margin-top
またはmargin-bottom
の値は親要素の高さに影響しません.<body>
<div class="parent">
<div class="child"></div>
</div>
</body>
<style>
.parent {
background-color:yellow;
}
.child {
width: 100px;
height: 100px;
margin-top: 50px;
background-color:red;
}
</style>
上のコードのように書くとこんな結果になります!
▼child要素の利益値が親領域を超えていることがわかる.
親の高さを指定しなければ、親の高さは子供の高さと同じになります.しかし、このような場合、子供の
margin-top
、margin-bottom
の値は親の身長に影響を与えない.この現象を解決する方法は?
親要素
border: 1px solid black
にしかしいずれにしても1 pxのスペースを占めているので誤差が生じる.いい方法ではない.
display: inline-block
に子供の要素間の兄弟間の利益の重なりを解消する.marify-top:0は、最初のサブエレメントを除く残りのサブエレメントに適用する必要があります.
overflow: hidden
属性値#https://www.joshwcomeau.com/css/rules-of-margin-collapse/参照
Reference
この問題について([CS]エッジオーバーラップ(エッジ折りたたみ)), 我々は、より多くの情報をここで見つけました https://velog.io/@sooyyyoung/CSS-margin-collapsingテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol