Sobes.tech
Back to questions
Middle
8

Задача по CSS: три блока div расположены друг под другом, у каждого margin-top 10px и margin-bottom 30px. Какое расстояние будет между блоками? Что изменится, если заменить div на span?

Companies where asked
Цифротех

Answer from AI

sobes.tech 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.