Šta je sklapanje granica u CSS?
sobes.tech АИ
Одговор од АИ
Spajanje margina (margin collapsing) je pojava u CSS-u gde se vertikalni margini susednih blokova spajaju u jedan. Veličina tog spojenog margina određuje se kao maksimalna vrednost od margina koje se spajaju.
Spajanje se dešava u sledećim slučajevima:
-
Između susednih elemenata: Vertikalni margini dva susedna elementa se spajaju.
<p>Pasus 1</p> <p>Pasus 2</p>Ako
<p>imamargin-bottomimargin-topredom, ti margini se mogu spojiti. -
Između roditeljskog i njegovog prvog/poslednjeg deteta: Ako roditelj nema
border,padding,display: flex,display: grid,overflow: hiddenili druge osobine koje stvaraju kontekst formatiranja, njegov gornji margin može se spojiti samargin-topprvog deteta. Slično, donji margin roditelja može se spojiti samargin-bottomposlednjeg deteta.<div class="parent"> <p class="child">Dečiji element</p> </div> -
Kod praznog elementa: Ako element nema sadržaj (
height: 0, bezborderipadding), njegovi gornji i donji margini mogu se spojiti.<div class="empty"></div>
Tabela koja ilustruje rezultate spajanja:
| Margin 1 | Margin 2 | Rezultat spajanja |
|---|---|---|
| 10px | 15px | 15px |
| 20px | -5px | 20px |
| -10px | -15px | -10px |
Spajanje margina dešava se samo u vertikalnom pravcu (margin-top i margin-bottom). Horizontalni margini (margin-left i margin-right) nikada se ne spajaju.
Postoje načini da se spreči spajanje, na primer dodavanjem border, padding, korišćenjem display: flex, display: grid, overflow: hidden ili kreiranjem novog konteksta formatiranja sa display: flow-root.