CSS-свойствоВ стандарте

CSS margin-block — синтаксис и примеры

CSS-свойство margin-block: назначение, рабочее значение, влияние на раскладку или отрисовку, ошибки и поддержка браузерами.

Суть темы

Практический смысл «margin-block» связан с тем, чтобы задавать внешние или внутренние размеры и управлять местом для содержимого. Свойство margin-block относится к области «размеры и блочная модель» и участвует в расчёте блочной модели с учётом режима письма, ограничений min/max и box-sizing. Контрольная проверка «margin-block» проходит в карточке материала с длинным заголовком, а наблюдаемой точкой служит изменение при prefers-reduced-motion.

Практическое правило для margin-block

Проверяя «margin-block», соблюдайте правило: проверяйте margin-block вместе с родительским контекстом и соседними правилами. Для «margin-block» изменяйте одно условие за запуск и фиксируйте фактический результат.

Синтаксис margin-block

Пример «margin-block» оставляет только контекст, необходимый для области «размеры и блочная модель». Измените одно значение и проследите результат в браузере.

css
.demo {
  margin-block: 1rem;
}
Открыть в Playground

Как работает margin-block

Механика «margin-block» начинается с допустимого контекста и заканчивается наблюдаемым результатом. Свойство margin-block относится к области «размеры и блочная модель» и участвует в расчёте блочной модели с учётом режима письма, ограничений min/max и box-sizing; для «margin-block» отдельно проверьте изменение при prefers-reduced-motion.

Проверка в проекте

  • Проверьте вычисленное значение margin-block, наследование и контекст родителя; результат относится непосредственно к «margin-block».
  • Проверить печать и убедиться, что важное содержимое не исчезает при разборе «margin-block».
  • Проверьте «margin-block» в карточке материала с длинным заголовком через изменение при prefers-reduced-motion и запишите наблюдаемое изменение.
Выбор конструкции

Используйте «margin-block», когда требуется задавать внешние или внутренние размеры и управлять местом для содержимого; подтвердите выбор предметной проверкой: проверьте вычисленное значение margin-block, наследование и контекст родителя. Для «margin-block» более простой вариант предпочтителен, если он сохраняет тот же смысл и поведение.

Практика с margin-block

Соберите «margin-block» в тестовом шаблоне и проверьте предметное условие: проверьте вычисленное значение margin-block, наследование и контекст родителя. Затем для «margin-block» замените содержимое длинным и сузьте контейнер до 320 px.

размеры и блочная модельmargin-block

Сценарий: в карточке материала с длинным заголовком.

Ошибки при работе с margin-block

01

Устойчивость

Изолированная декларация margin-block без связанных ограничений может дать другой результат в реальном компоненте — это предметный риск для «margin-block».

02

Доступность

Зависимость результата от placeholder вместо постоянной подписи при использовании «margin-block».

03

Каскад

Оптимизация кода до проверки корректности и доступности; для «margin-block» проверьте это отдельно.

Поддержка margin-block

Для «margin-block» таблица собрана из закреплённой версии MDN Browser Compatibility Data. Указанная версия браузера показывает первое заявленное появление базовой поддержки «margin-block»; окончательное решение принимайте по аудитории конкретного проекта.

Chromeс версии 87Edgeс версии 87Firefoxс версии 66Safariс версии 14.1

Спецификация: источник 1.

Вопросы о margin-block

Как понять, что «margin-block» выбрано правильно?

«margin-block» выбрано правильно, когда оно решает задачу «задавать внешние или внутренние размеры и управлять местом для содержимого», сохраняет результат в карточке материала с длинным заголовком и проходит предметную проверку: проверьте вычисленное значение margin-block, наследование и контекст родителя.

Нужен ли запасной вариант для «margin-block»?

Запасной вариант для «margin-block» нужен, если целевой браузер или режим не обеспечивает выбранное поведение. Без улучшения «margin-block» должно сохранять смысл, содержимое и основное действие.

Спецификации и источники

Синтаксис и статус проверяются по HTML Living Standard, спецификациям CSS и MDN Browser Compatibility Data. Примеры и объяснения подготовлены для этого сервиса.