← Все вопросы

Объясните на пальцах разницу между margin и padding — постоянно их путаю

Задан 5 месяцев назад763 просмотров2 ответа
9

Оба свойства вроде про отступы, но результат разный, и я никак не запомню, что есть что. Можно совсем по-простому, на примере?

2 ответа

13
✓ Принятый ответ — помог автору

Представь блок как подарок в коробке:

  • padding — это набивка внутри коробки, между стенкой и подарком. Отодвигает содержимое (текст) от краёв самого блока. Фон блока эту зону закрашивает.
  • margin — это пустое место снаружи коробки, отодвигает блок от соседних блоков. Прозрачное, фоном не закрашивается.
.box {
  padding: 20px;  /* воздух ВНУТРИ, текст отойдёт от краёв */
  margin: 30px;   /* воздух СНАРУЖИ, блок отойдёт от соседей */
  background: lightblue;
}

Короткая запоминалка: padding — внутренний отступ (от края блока до текста), margin — внешний (между блоками). Если фон должен закрашивать отступ — это padding.

5

Можно задавать с разных сторон: margin-top, padding-left и т.д. А запись padding: 10px 20px; означает 10px сверху/снизу и 20px слева/справа. Один блок легко «раздуть» именно паддингом, чтобы кнопка стала больше внутри.

Ваш ответ

Войдите, чтобы ответить на вопрос.