Sobes.tech
Назад к вопросам
Middle
7

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

Компании, где спрашивали
Цифротех

Ответ от нейросети

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.