Свойство 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 |
См. также
© 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