To jeszcze nie ma dla mnie sensu. czego mi brakuje?Dlaczego obramowanie 1px likwiduje margines o wartości 100 pikseli i zabija pasek przewijania?
Kod jest poniżej i 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;
nie robi żadnej różnicy. Dodanie border powoduje, że vertical margins to not collapse, ale co dokładnie się dzieje?
- z obramowaniem: brak przewijania
- bez obramowania, załamanie dwa najlepsze marże, więc nie powinno być wymagane mniej pionowa przestrzeń, ale otrzymujemy pionowy pasek przewijania o pełnej wysokości
body
.
„Kiedy' .middle' nie posiada granicy marża stosowana do '.middle div' kończy się poza to co skutecznie' 'organ do spraw mieć wysokość: 100vh;' a 'margin-top: 100px;'. " - to. Ktokolwiek wymyślił ten pomysł na @ 3C deservesto, nigdy nie ma już osobistej przestrzeni. –
Haha, tak, załamujące się marginesy były przyczyną wielu uderzeń głowy, chociaż wydaje mi się, że istnieje metoda ich szaleństwa! –