Sobes.tech
Middle

Άσκηση CSS: τρία μπλοκ div τοποθετημένα το ένα κάτω από το άλλο, καθένα με margin-top 10px και margin-bottom 30px. Ποια θα είναι η απόσταση μεταξύ των μπλοκ; Τι θα αλλάξει αν αντικαταστήσουμε το div με span;

sobes.tech AI

Απάντηση από AI

Если три блока 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.