Firefox visualizza un margine di 100 pixel nella parte superiore di div.p
. Sembra essere un crollo dei margini. Ma l'altezza calcolata di div.p
è 100 px. Secondo lo spec non dovrebbe fare collasso dei margini. È un bug, o sbaglio qui? Chrome esegue il rendering come previsto.
codepenPerché Firefox si comporta diversamente sui margini di compressione?
.s {
height: 100px;
width: 200px;
background: yellow;
float: left;
}
.p {
margin-top: 20px;
margin-bottom: 100px;
zoom: 1;
}
.p:after {
content: ' ';
display: block;
height: 0;
clear: both;
}
<div class="p">
<div class="s"></div>
</div>
Non sono sicuro di cosa sia, ma non succede se si rimuove il 'float: left', quindi non penso che sia un margine di compressione. –
Sembra che ci sia un problema con il margin-bottom che crea un overflow, se aggiungiamo '* {overflow: auto}', il problema non si verifica più: http://codepen.io/anon/pen/ZGxWVB – Kaiido
Posso capire perché se usiamo '* {overflow: auto}', il problema non si verifica più perché crea un BFC. – szmtcjm