--- title: margin-left slug: Web/CSS/margin-left translation_of: Web/CSS/margin-left ---
Свойство CSS margin-left
устанавливает внешний отступ слева от элемента. Положительное значение увеличивает расстояние между соседними элементами, тогда как отрицательное - сокращает.
Исходный код этого интерактивного примера хранится в репозитории GitHub. Если вы хотите внести свой вклад в проект интерактивных примеров, пожалуйста, клонируйте https://github.com/mdn/interactive-examples и отправьте нам пулреквест.
Вертикальные внешние отступы двух соседних блоков могут схлопнуться. Это называется схлопыванием внешних отступов.
В редких случаях, когда ширина (т.е., когда все значения width
, margin-left
, border
, padding
, область содержимого, и margin-right
определены), margin-left
игнорируется, и будет иметь такое же расчётное значение, как и auto
.
/* <длина> значения */ margin-left: 10px; /* абсолютная длина */ margin-left: 1em; /* относительно размера текста */ margin-left: 5%; /* относительно ширины родительского блока */ /* Значения-ключевые слова */ margin-left: auto; /* Глобальные значения */ margin-left: inherit; margin-left: initial; margin-left: unset;
Свойство margin-left
может быть выражено как ключевое слово auto
, как <число>
, или как <процент>
. Значение может быть положительным, нулевым или отрицательным.
auto
margin-left
и margin-right
одновременно установлены как auto
, расчётное пространство распределяется равномерно. Эта таблица кратко излагает различные:
Значение {{cssxref("display")}} | Значение {{cssxref("float")}} | Значение {{cssxref("position")}} |
Расчётное значение |
Комментарий |
---|---|---|---|---|
inline , inline-block , inline-table |
любое | static или relative |
0 |
Строчный способ разметки |
block , inline , inline-block , block , table , inline-table , list-item , table-caption |
любое | static или relative |
0 , кроме случаев, когда margin-left и margin-right установлены как auto . В этом случае устанавливается значение, центрирующее элемент внутри его родителя |
Блочный способ разметки |
block , inline , inline-block , block , table , inline-table , list-item , table-caption |
left или right |
static или relative |
0 |
Блочный способ разметки (плавающие элементы) |
любое table-* , кроме table-caption |
любое | любое | 0 |
Внутренние table-* элементы не имеют отступов, вместо этого используйте {{ cssxref("border-spacing") }} |
любое, кроме flex , inline-flex , или table-* |
любое | fixed или absolute |
0 , кроме случаев, когда margin-left и margin-right установлены как auto . В этом случае, устанавливается значение центрирующее границы области внутри доступной width (ширины), если значение фиксировано. |
Способ разметки абсолютным позиционированием |
flex , inline-flex |
любое | любое | 0 , кроме случаев, когда есть положительное горизонтальное свободное пространство. В этом случае, распределяется равномерно по всем горизонтальным auto отступам. |
Способ разметки с помощью flexbox |
.content { margin-left: 5%; } .sidebox { margin-left: 10px; } .logo { margin-left: -5px; }
Спецификация | Статус | Комментарий |
---|---|---|
{{SpecName('CSS3 Box', '#the-margin', 'margin-left')}} | {{Spec2('CSS3Box')}} |
|
{{SpecName('CSS3 Transitions', '#animatable-css', 'margin-left')}} | {{Spec2('CSS3 Transitions')}} | Определяет margin-left как анимируемое. |
{{SpecName('CSS3 Flexbox', '#item-margins', 'margin-left')}} | {{Spec2('CSS3 Flexbox')}} |
|
{{SpecName('CSS2.1', 'box.html#margin-properties', 'margin-left')}} | {{Spec2('CSS2.1')}} | Идентично CSS1, но удалено влияние на строчные элементы. |
{{SpecName('CSS1', '#margin-left', 'margin-left')}} | {{Spec2('CSS1')}} | Первоначальное определение. |
{{cssinfo}}
{{Compat("css.properties.margin-left")}}