Перейти к основному содержимому

Отступы margin в CSS

Свойства CSS margin создают пространство вокруг элемента, за пределами его рамки.

Отступы margin задают расстояние между рамкой элемента и окружающими его элементами.

CSS позволяет задавать margin для каждой стороны элемента (сверху, справа, снизу, слева), а также есть сокращённое свойство для задания всех сразу.

Пример

У этого элемента отступ margin 70px со всех сторон.

Prompt
HTML-страница, показывающая один элемент с большим отступом margin вокруг него. Во внутреннем блоке <style> задайте <div> margin 70px и видимую рамку и фон, чтобы пространство вокруг него было заметно. Поместите внутрь div немного текста.
Результат: полная HTML-страница

Margin — отдельные стороны

В CSS есть отдельное свойство для каждой стороны: margin-top, margin-right, margin-bottom и margin-left.

Все свойства margin могут принимать такие значения:

  • auto — браузер сам вычисляет отступ.
  • длина — отступ в px, pt, cm и так далее.
  • процент — отступ как процент от ширины содержащего элемента.
  • inherit — отступ берётся от родительского элемента.

Совет: Отрицательные значения допускаются.

Пример

Каждая сторона абзаца получает свой отступ margin.

Prompt
HTML-страница, задающая разный отступ margin для каждой стороны элемента. Во внутреннем блоке <style> задайте <p> margin-top 100px, margin-bottom 100px, margin-right 150px и margin-left 80px. Добавьте рамку, чтобы отступы были видны. Добавьте абзац.
Результат: полная HTML-страница

Margin — сокращённое свойство

Чтобы сократить код, можно задать все отступы margin одним свойством margin, которое заменяет margin-top, margin-right, margin-bottom и margin-left.

Количество значений меняет, к каким сторонам они применяются:

  • Четыре значения (25px 50px 75px 100px): сверху, справа, снизу, слева.
  • Три значения (25px 50px 75px): сверху, затем справа и слева, затем снизу.
  • Два значения (25px 50px): сверху и снизу, затем справа и слева.
  • Одно значение (25px): все четыре стороны.

Четыре значения

Задаёт отступы сверху, справа, снизу и слева по порядку.

Prompt
HTML-страница, использующая сокращённую запись margin с четырьмя значениями. Во внутреннем блоке <style> задайте <p> margin: 25px 50px 75px 100px (сверху, справа, снизу, слева) и рамку, чтобы отступы были видны. Добавьте абзац.
Результат: полная HTML-страница

Три значения

Задаёт сверху, затем справа и слева, затем снизу.

Prompt
HTML-страница, использующая сокращённую запись margin с тремя значениями. Во внутреннем блоке <style> задайте <p> margin: 25px 50px 75px (сверху, справа и слева, снизу) и рамку, чтобы отступы были видны. Добавьте абзац.
Результат: полная HTML-страница

Два значения

Задаёт сверху и снизу, затем справа и слева.

Prompt
HTML-страница, использующая сокращённую запись margin с двумя значениями. Во внутреннем блоке <style> задайте <p> margin: 25px 50px (сверху и снизу, затем справа и слева) и рамку, чтобы отступы были видны. Добавьте абзац.
Результат: полная HTML-страница

Одно значение

Задаёт одинаковый отступ со всех четырёх сторон.

Prompt
HTML-страница, использующая сокращённую запись margin с одним значением. Во внутреннем блоке <style> задайте <p> margin: 25px (все четыре стороны) и рамку, чтобы отступы были видны. Добавьте абзац.
Результат: полная HTML-страница

Значение auto

Задайте margin равным auto, чтобы центрировать элемент по горизонтали в его контейнере. Элемент сохраняет заданную ширину, а оставшееся пространство равномерно делится между левым и правым отступами.

Пример

Div шириной 300px центрирован с помощью margin: auto.

Prompt
HTML-страница, горизонтально центрирующая элемент с помощью margin auto. Во внутреннем блоке <style> задайте <div> ширину 300px, margin: auto и рамку 1px solid красного цвета. Div должен располагаться по центру своего контейнера. Поместите внутрь немного текста.
Результат: полная HTML-страница

Значение inherit

Задайте margin равным inherit, чтобы взять отступ от родительского элемента.

Пример

Левый отступ абзаца унаследован от его родительского div.

Prompt
HTML-страница, показывающая значение inherit для margin. Во внутреннем блоке <style> задайте <div> рамку 1px solid красного цвета и margin-left 100px. Задайте абзацу с классом "ex1" margin-left: inherit, чтобы он копировал левый margin родительского div. Поместите абзац внутрь div.
Результат: полная HTML-страница

Все свойства CSS margin

Сводка свойств margin:

  • margin — задаёт все отступы margin в одном объявлении.
  • margin-bottom — задаёт нижний отступ.
  • margin-left — задаёт левый отступ.
  • margin-right — задаёт правый отступ.
  • margin-top — задаёт верхний отступ.