Встречается на собеседованиях • сегодня

Какие знаешь способы предотвратить схлопывание отступов

В CSS схлопывание отступов (margin collapsing) происходит, когда вертикальные отступы соседних элементов сливаются в один. Основные способы предотвратить это:

  1. Добавление padding или border к родителю:
css
.parent {
  padding: 1px; /* или border: 1px solid transparent */
}
  1. Использование flex или grid:
css
.container {
  display: flex;
  flex-direction: column;
  gap: 20px; /* современная альтернатива margin */
}
  1. Применение overflow (не visible):
css
.parent {
  overflow: auto;
}
  1. Использование псевдоэлемента:
css
.parent::before {
  content: '';
  display: table;
}
  1. Float или абсолютное позиционирование элементов также предотвращает схлопывание.

Лучший современный способ - использование gap в flex/grid, так как это явно задаёт отступы между элементами без неожиданного поведения.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы