margin¶
Свойство margin
устанавливает величину отступа от каждого края элемента.
Отступом является пространство от границы текущего элемента до внутренней границы его родительского элемента (рис. 1).
Если у элемента нет родителя, отступом будет расстояние от края элемента до края окна браузера с учетом того, что у самого окна по умолчанию тоже установлены отступы. Чтобы от них избавиться, следует устанавливать значение margin для селектора <body>
равное нулю.
Свойство margin
позволяет задать величину отступа сразу для всех сторон элемента или определить её только для указанных сторон.
Демо¶
Блоки
Синтаксис¶
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
|
Значения¶
Разрешается использовать одно, два, три или четыре значения, разделяя их между собой пробелом. Эффект зависит от количества значений и приведен в табл. 1.
Число значений | Результат |
---|---|
1 | Отступы будут установлены одновременно от каждого края элемента. |
2 | Первое значение устанавливает отступ от верхнего и нижнего края, второе — от левого и правого. |
3 | Первое значение задает отступ от верхнего края, второе — одновременно от левого и правого края, а третье — от нижнего края. |
4 | Поочередно устанавливается отступ от верхнего, правого, нижнего и левого края. |
Величину отступов можно указывать в пикселях (px), процентах (%) или других допустимых для CSS единицах. Значение может быть как положительным, так и отрицательным числом.
auto
-
Указывает, что размер отступов будет автоматически рассчитан браузером.
Значение по-умолчанию:
1 |
|
Применяется ко всем элементам
Спецификации¶
Описание и примеры¶
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
|
Примечания¶
У блочных элементов расположенных рядом друг с другом по вертикали наблюдается эффект схлопывания, когда отступы не суммируются, а объединяются между собой. Само схлопывание действует на два и более блока (один может быть вложен внутрь другого) с отступами сверху или снизу, при этом примыкающие отступы комбинируются в один. Для отступов слева и справа схлопывание никогда не применяется.
Схлопывание не срабатывает:
- для элементов, у которых на стороне схлопывания задано свойство
padding
. - для элементов, у которых на стороне схлопывания задана граница;
- на элементах с абсолютным позиционированием, т. е. таких, у которых
position
установлено какabsolute
; - на плавающих элементах (для них свойство
float
задано какleft
илиright
); - для строчных элементов;
- для
<html>
.