inset-inline

Свойство inset-inline определяет смещение в строчном направлении краёв логического блока. Положение краёв зависит от режима письма (свойство writing-mode) и направления текста (свойство direction).

В табл. 1 показано положение блока при разных значениях writing-mode и direction.

Табл. 1. Края элемента
Код CSS Края Соответствует свойствам Вид
div {
  inset-inline: 10px 5px;
}
Левый и правый left и right
div {
  inset-inline: 10px 5px;
  direction: rtl;
}
Правый и левый right и left
div {
  inset-inline: 10px 5px;
  writing-mode: vertical-rl;
}
Верхний и нижний top и bottom
div {
  inset-inline: 10px 5px;
  writing-mode: vertical-lr;
}
Верхний и нижний top и bottom
div {
  inset-inline: 10px 5px;
  writing-mode: vertical-lr;
  direction: rtl;
}
Нижний и верхний bottom и top

Краткая информация

Значение по умолчанию auto auto
Наследуется Нет
Применяется Ко всем позиционированным элементам
Анимируется Да

Синтаксис

[inset-inline: auto | <размер> | <проценты>]{1,2}
Описание Пример
<тип> Указывает тип значения. <размер>
A && B Значения должны выводиться в указанном порядке. <размер> && <цвет>
A | B Указывает, что надо выбрать только одно значение из предложенных (A или B). normal | small-caps
A || B Каждое значение может использоваться самостоятельно или совместно с другими в произвольном порядке. width || count
[ ] Группирует значения. [ crop || cross ]
* Повторять ноль или больше раз. [,<время>]*
+ Повторять один или больше раз. <число>+
? Указанный тип, слово или группа не является обязательным. inset?
{A, B} Повторять не менее A, но не более B раз. <радиус>{1,4}
# Повторять один или больше раз через запятую. <время>#

Значения

auto
Устанавливает автоматическое значение, которое обычно соответствует исходному положению элемента.
<размер>
Задаёт смещение в единицах CSS (px, em, rem и др.).
<проценты>
Задаёт смещение в процентах от ширины элемента.

Одно значение устанавливает смещение одновременно двух краёв элемента. Два значения позволяют задать смещение сперва начального края, затем конечного края в строчном направлении.

Пример

<!DOCTYPE html> <html lang="ru"> <head> <meta charset="utf-8"> <title>inset-inline</title> <style> button { border: 2px solid #e3038c; /* Параметры рамки */ background: none; /* Убираем фон */ padding: 1em 2em; /* Расстояние от текста до рамки */ position: relative; /* Относительное позиционирование */ overflow: hidden; /* Прячем всё за пределами кнопки */ } button::before, button::after { content: ''; /* Пустой псевдоэлемент */ position: absolute; /* Абсолютное позиционирование */ background: #e3038c; /* Цвет фона */ inset-block: 0; inset-inline: 0; /* Соответствует размеру кнопки */ z-index: -1; /* Псевдоэлемент ниже текста кнопки */ transition: 0.3s; /* Время перехода */ } button::before { transform: translateY(-100%); /* Сдвигаем вверх */ } button::after { transform: translateY(100%); /* Сдвигаем вниз */ } button:hover { color: #fff; /* Цвет текста */ } button:hover::before { /* Используется 49% вместо 50% чтобы не было тонкой линии */ transform: translateY(-49%); /* Фон сдвигается */ } button:hover::after { transform: translateY(49%); /* Фон сдвигается */ } :lang(ar) { direction: rtl; /* Направление справа налево */ } </style> </head> <body> <button>Наведи на меня</button> <button lang="ar">وجهها نحوي</button> </body> </html>

Объектная модель

Объект.style.insetInline

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

Браузеры

87 87 73 14.1 63
87 63 62 14.5

В таблице браузеров применяются следующие обозначения.

  • — элемент полностью поддерживается браузером;
  • — элемент браузером не воспринимается и игнорируется;
  • — при работе возможно появление различных ошибок, либо элемент поддерживается с оговорками.

Число указывает версию браузреа, начиная с которой элемент поддерживается.