Spec-Zone.ru › CSS

Свойство CSS `margin-trim`

Базовая поддержка Ограниченная доступность

Эта возможность не относится к базовым, поскольку она не работает в некоторых наиболее широко используемых браузерах.

Экспериментальная: Это экспериментальная технология
Перед использованием в рабочей среде внимательно ознакомьтесь с таблицей совместимости браузеров.

Экспериментальная: Это экспериментальная технология
Перед использованием в рабочей среде внимательно ознакомьтесь с таблицей совместимости браузеров.

Свойство margin-trim позволяет контейнеру обрезать внешние отступы дочерних элементов в местах их соприкосновения с краями контейнера.

Синтаксис

margin-trim: none;
margin-trim: block;
margin-trim: block-start;
margin-trim: block-end;
margin-trim: inline;
margin-trim: inline-start;
margin-trim: inline-end;

/* Global values */
margin-trim: inherit;
margin-trim: initial;
margin-trim: revert;
margin-trim: revert-layer;
margin-trim: unset;

Значения

Это свойство задаётся одним из следующих ключевых слов:

none
Контейнер не обрезает внешние отступы.
block
Внешние отступы блочных дочерних элементов в местах их соприкосновения с краями контейнера обрезаются до нуля, не затрагивая внешние отступы самого контейнера.
block-start
Внешний отступ первого блочного дочернего элемента у края контейнера обрезается до нуля.
block-end
Внешний отступ последнего блочного дочернего элемента у края контейнера обрезается до нуля.
inline
Внешние отступы строчных дочерних элементов в местах их соприкосновения с краями контейнера обрезаются до нуля, не затрагивая интервалы в начале и конце строки.
inline-start
Внешний отступ между краем контейнера и первым строчным дочерним элементом обрезается до нуля.
inline-end
Внешний отступ между краем контейнера и последним строчным дочерним элементом обрезается до нуля.

Формальное определение

Начальное значение none
Применяется к Блочным контейнерам и многоколоночным контейнерам
Наследуется нет
Вычисленное значение как задано
Тип анимации дискретный

Формальный синтаксис

margin-trim = 
  none |
  in-flow |
  all

Примеры

Основное использование

После того как для этого свойства будет реализана поддержка, оно, вероятно, будет работать так:

Если у вас есть контейнер с несколькими строчными дочерними элементами и вы хотите задать отступ между ними, но не хотите, чтобы он влиял на интервал в конце строки, можно сделать примерно так:

article {
  background-color: red;
  margin: 20px;
  padding: 20px;
  display: inline-block;
}

article > span {
  background-color: black;
  color: white;
  text-align: center;
  padding: 10px;
  margin-right: 20px;
  margin-left: 30px;
}

Проблема в том, что справа от строки окажется лишний интервал в 20px, поэтому для исправления можно сделать так:

span:last-child {
  margin-right: 0;
  margin-left: 0;
}

Неудобно каждый раз добавлять ещё одно правило, да и гибкости в этом мало. Вместо этого проблему может решить margin-trim:

article {
  margin-trim: inline-end;
  /* … */
}

Аналогично, чтобы убрать внешний отступ у края контейнера слева:

article {
  margin-trim: inline-start;
  /* … */
}

Спецификации

Спецификация
Модуль блочной модели CSS, уровень 4
# margin-trim

Совместимость с браузерами

Компьютеры Мобильные устройства
Chrome Edge Firefox Opera Safari Chrome Android Firefox для Android Opera Android Safari на iOS Samsung Internet WebView Android WebView на iOS
margin-trim
предварительная версия
Нет
Нет
Нет
16.4
Нет
Нет
Нет
16.4
Нет
Нет
16.4
block
предварительная версия
Нет
Нет
Нет
16.4
Нет
Нет
Нет
16.4
Нет
Нет
16.4
block-end
предварительная версия
Нет
Нет
Нет
16.4
Нет
Нет
Нет
16.4
Нет
Нет
16.4
block-start
предварительная версия
Нет
Нет
Нет
16.4
Нет
Нет
Нет
16.4
Нет
Нет
16.4
inline
Нет
Нет
Нет
Нет
16.4
Нет
Нет
Нет
16.4
Нет
Нет
16.4
inline-end
Нет
Нет
Нет
Нет
16.4
Нет
Нет
Нет
16.4
Нет
Нет
16.4
inline-start
Нет
Нет
Нет
Нет
16.4
Нет
Нет
Нет
16.4
Нет
Нет
16.4
none
предварительная версия
Нет
Нет
Нет
16.4
Нет
Нет
Нет
16.4
Нет
Нет
16.4

См. также

  • margin

© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Properties/margin-trim

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API