Questo non ha ancora senso per me. Cosa mi manca?Perché un bordo 1px cancella un margine superiore di 100 px e uccide una barra di scorrimento?
Il codice è qui sotto e on Codepen.
* {
box-sizing: border-box;
margin: 0; padding: 0;
}
body {
height: 100vh;
background: pink;
}
.middle {
position: relative;
top: 200px;
/* uncomment the border to kill the scrollbar! */
/* border: 1px solid green; */
}
.middle div {
margin-top: 100px;
border: 1px dashed yellow;
}
<div class="middle">
<div>Text</div>
</div>
box-sizing: border-box;
non fa alcuna differenza. L'aggiunta di border causa lo vertical margins to not collapse, ma cosa sta succedendo esattamente?
- con bordo: nessuna barra di scorrimento
- senza bordo, il crollo di due top dei margini, quindi non ci dovrebbero essere meno spazio verticale necessario, ma si ottiene una barra di scorrimento verticale sul tutta altezza
body
.
"Quando' .middle' non ha un bordo del margine applicato ai 'div' .middle finisce fuori di essa rendere efficace' 'body' avere altezza: 100VH;' e 'margin-top: 100px;'. " - Questo. Chi ha ideato questa idea alla @ 3C non ha mai più spazio personale. –
Haha, sì, i margini di crollo sono stati la causa di molti momenti di grattacapo, anche se immagino ci sia un metodo per la loro follia! –