Бордеры — самая объёмная по числу свойств группа. Помимо основных border-inline-* и border-block-*, у них есть отдельные подсвойства для width, style и color, плюс свой синтаксис у скруглённых углов.

Основные бордеры

Шорткат типа border-inline-start: 4px solid crimson — прямой эквивалент border-left: 4px solid crimson для горизонтального LTR-текста. Разница в том, что логический сам «разворачивается» при смене направления:

.section-title {
  border-inline-start: 4px solid crimson;
  padding-inline-start: 12px;
}

Полный набор основных свойств:

  • border-inline-start, border-inline-end — стороны бордера по inline-оси.
  • border-block-start, border-block-end — стороны по block-оси.
  • border-inline, border-block — шорткаты для двух сторон сразу. border-inline: 1px solid #ccc ставит одинаковый бордер слева и справа в LTR.

Подсвойства width, style, color

Если нужно поменять только толщину или только цвет:

  • border-inline-start-width, border-block-end-width, border-inline-width и т. д. — для толщины.
  • border-inline-start-style, border-block-style и т. д. — для типа линии.
  • border-inline-start-color, border-block-end-color и т. д. — для цвета.

Запоминать наизусть весь список не нужно — имена строятся регулярно (ось × сторона × свойство), и редактор подскажет автодополнением.

Скруглённые углы

У border-radius логика другая — нужно одновременно указать block- и inline-сторону для каждого угла. Шаблон имени — border-{block-сторона}-{inline-сторона}-radius:

Физическое (LTR) Логическое
border-top-left-radius border-start-start-radius
border-top-right-radius border-start-end-radius
border-bottom-left-radius border-end-start-radius
border-bottom-right-radius border-end-end-radius

Читается как «сначала block, потом inline». Например, border-end-start-radius — это нижне-левый угол в горизонтальном LTR-тексте (block-end = низ, inline-start = лево).

У скруглённых углов нет шорткатов вида border-start-radius. Если нужно скруглить два угла с одной стороны — пишем по два свойства:

.tab {
  border-start-start-radius: 8px;
  border-start-end-radius: 8px;
  /* верхняя пара углов скруглена для LTR; в RTL она же остаётся вверху */
}