Sobes.tech
Middle

CSS zadatak: tri bloka div postavljena jedan ispod drugog, svaki sa margin-top od 10px i margin-bottom od 30px. Koja će biti udaljenost između blokova? Šta će se promeniti ako zamenimo div sa span?

sobes.tech АИ

Одговор од АИ

Если три блока div расположены друг под другом, у каждого margin-top: 10px и margin-bottom: 30px, то между блоками будет не сумма 40px, а 30px. Это происходит из-за схлопывания внешних отступов (margin collapsing): соседние вертикальные margin между блоками не складываются, а берётся максимальный из них.

В данном случае между блоками margin-bottom 30px и margin-top 10px, значит расстояние будет 30px.

Если заменить div на span, то поведение изменится, так как span — это inline элемент, а margin-top и margin-bottom для inline элементов обычно не влияют на вертикальные отступы. В результате отступы могут не применяться или вести себя иначе, и блоки не будут располагаться друг под другом, а в одну строку, если не изменить display.