margin - itgirlschool/wiki GitHub Wiki
Задаёт размер внешнего отступа вокруг элемента.
Чтобы сделать отступ только с одной стороны, используй margin-top (сверху), margin-right (справа), margin-bottom (снизу) или margin-left (слева).
Применяется ко всем четырём сторонам:
.selector {
margin: 1em;
margin: -3px;
}
Сверху и снизу | слева и справа:
.selector {
margin: 5% auto;
}
Сверху | слева и справа | снизу:
.selector {
margin: 1em auto 2em;
}
Сверху | справа | снизу | слева:
.selector {
margin: 2px 1em 0 auto;
}
Значение margin может выражаться в пикселях (px), процентах (%) или словом auto, а также в любых других доступных в вебе единицах измерения.
Отрицательное значение margin тоже возможно: вместо отступа, оно, наоборот, ставит элемент ближе к соседнему.
Можно задать margin с помощью одного, двух, трёх или четырёх значений. В зависимости от этого, отступ появится для всех или только для указанных сторон:
- Если указать одно значение (например,
margin: 1px;), отступ в 1 пиксель появится со всех сторон; - Если указать два (
margin: 5% auto;), первое значение применится для верхнего и нижнего отступа, а второе для левого и правого; - При трёх значениях (margin:
1em auto 2em;) первое делает отступ сверху, второе — слева и справа, третье — снизу; - Если указать четыре значения (
margin: 2px 1em 0 auto;), они применятся по часовой стрелке для каждой из сторон: сверху, справа, снизу и слева.
Размер отступа margin можно задать в такими значениями:
Число с единицами измерения — фиксированный отступ в пикселях px или других единицах.
Проценты — отступ в процентах % от ширины блока.
auto — браузер сам выбирает подходящий размер отступа. Например, можно использовать в некоторых случаях, чтобы центровать элемент.
💡 Свойство margin создаёт пространство вокруг элемента, в то время, как padding добавляет пространство внутри элемента.
💡 Верхний и нижний отступы не работают для элементов <span>, <code> и других строчных элементов. Выход в данной ситуации — сделать строчные элементы строчно-блочными (inline-block) или блочными (block).
💡 margin задаёт расстояние от края элемента до родительского элемента, а если такого нет, то до края окна браузера. По умолчанию браузерное окно имеет свои отступы внутри; чтобы от них избавиться, добавь в <body> значение margin: 0.