Spec-Zone.ru › CSS

margin-trim

Ограниченная доступность

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

  • Узнать больше
  • Полная совместимость
  • Отправить отзыв

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

Свойство 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
Применимо к Блочным контейнерам и контейнерам с несколькими колонками. Также применяется к ::first-letter.
Наследуется нет
Вычисленное значение как указано
Тип анимации дискретный

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

margin-trim = 
none |
[ block || inline ] |
[ block-start || inline-start || block-end || inline-end ]

Примеры

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

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

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

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 Box Model Module Level 4
# margin-trim

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

Рабочие столы Мобильные устройства
Chrome Edge Firefox Opera Safari Chrome Android Firefox for Android Opera Android Safari на IOS Samsung Internet WebView Android
margin-trim Нет Нет Нет Нет 16.4 Нет Нет Нет 16.4 Нет Нет
block Нет Нет Нет Нет 16.4 Нет Нет Нет 16.4 Нет Нет
block-end Нет Нет Нет Нет 16.4 Нет Нет Нет 16.4 Нет Нет
block-start Нет Нет Нет Нет 16.4 Нет Нет Нет 16.4 Нет Нет
inline Нет Нет Нет Нет 16.4 Нет Нет Нет 16.4 Нет Нет
inline-end Нет Нет Нет Нет 16.4 Нет Нет Нет 16.4 Нет Нет
inline-start Нет Нет Нет Нет 16.4 Нет Нет Нет 16.4 Нет Нет
none Нет Нет Нет Нет 16.4 Нет Нет Нет 16.4 Нет Нет

См. также

  • margin

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

Spec-Zone.ru

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