margin-block
- это сокращенное свойство в CSS, которое устанавливает элемент margin-block-start
и margin-block-end
значения, оба из которых являются логическими свойствами. Это создает пространство вокруг элемента в направлении инлайн, который определяется элемент writing-mode
, direction
и text-orientation
.
Это свойство является частью спецификации CSS Logical Properties and Values Level 1, которая в настоящее время находится в статусе Editor's Draft. Это означает, что определение и информация о нем могут измениться с настоящего момента и до официальной рекомендации.
.element ( margin-block: 30px 60px; writing-mode: vertical-rl; /* Determines the block start direction */ )
Если writing-mode
установлено значение horizontal-lr
, margin-block
свойство будет действовать так же, как и настройка margin-top
и margin-bottom
. Одним из интересных аспектов этого свойства является то, что это одно из логических свойств, которое не имеет однозначного сопоставления с нелогическим свойством. Нет более старого свойства, которое устанавливает оба (и только) поля направления блока.
Но изменить элемент writing-mode
к чему - то , как vertical-lr
и «нижнему» краю поворачиваются в вертикальном направлении, действуя больше как margin-left
и margin-right
свойство.
Синтаксис
margin-block: (1,2)
Довольно странно видеть, что синтаксис одного свойства ссылается на синтаксис другого свойства CSS прямо в документации, но это действительно то, что есть. По сути, он пытается сказать, что свойство принимает те же значения margin-top
(до двух раз), которые соответствуют этому синтаксису:
margin-top: | | auto;
- Первоначальный значение:
0
- Применимо ко всем элементам, кроме внутренних элементов таблицы, базовых контейнеров ruby и контейнеров аннотаций ruby
- Унаследовано: нет
- Проценты: по соответствующему физическому объекту
- Вычисленное значение: то же, что и соответствующие
margin-*
свойства - Тип анимации: по типу вычисляемого значения
Значения
Если вы знакомы со margin
стенографическим свойством, это margin-block
будет вам очень знакомо. Единственное отличие в том, что он работает в двух направлениях вместо четырех.
/* Length values */ margin-block: 20px 40px; margin-block: 2rem 4rem; margin-block: 25% 15%; margin-block: 20px; /* a single value sets both values */ /* Keyword values */ margin-block: auto; /* Global values */ margin-block: inherit; margin-block: initial; margin-block: unset;
Демо
Поддержка браузера
IE | Край | Fire Fox | Хром | Сафари | Опера |
---|---|---|---|---|---|
Нет | Нет | 66+ | 87+ | Нет | Нет |
Android Chrome | Android Firefox | Браузер Android | iOS Safari | Opera Mobile |
---|---|---|---|---|
да | да | Нет | Нет | 59+ |
дальнейшее чтение
Статья от 31 августа 2018 г.Логические свойства CSS
Альманах Джвахир Сундаи на 5 января 2021 г.режим письма
.element ( writing-mode: vertical-rl; )
Робин Рендл