CSS-свойствоЭкспериментально

CSS border-shape — синтаксис и примеры

CSS-свойство border-shape: назначение, рабочее значение, влияние на раскладку или отрисовку, ошибки и поддержка браузерами.

Проверьте поддержку

«border-shape» отмечено как экспериментальное в MDN Browser Compatibility Data. Предусмотрите базовый вариант и протестируйте целевые браузеры.

Суть темы

Практический смысл «border-shape» связан с тем, чтобы управлять местом элемента в потоке, его контекстом или взаимным расположением блоков. Свойство border-shape относится к области «раскладка и позиционирование» и может создавать новый контекст форматирования, содержащий блок или уровень наложения. Контрольная проверка «border-shape» проходит на панели управления с асинхронным обновлением данных, а наблюдаемой точкой служит состояние при пустом содержимом.

Практическое правило для border-shape

Для «border-shape» сначала проверьте вычисленное значение border-shape, наследование и контекст родителя. После этого сравните исходное и изменённое состояние «border-shape» на одном и том же содержимом.

Синтаксис border-shape

Минимальная запись «border-shape» нужна для отделения самой возможности от стилей и разметки проекта. Проверьте фрагмент отдельно перед переносом.

css
.demo {
  border-shape: 1px solid currentColor;
}
Открыть в Playground

Как работает border-shape

Механика «border-shape» начинается с допустимого контекста и заканчивается наблюдаемым результатом. Свойство border-shape относится к области «раскладка и позиционирование» и может создавать новый контекст форматирования, содержащий блок или уровень наложения; для «border-shape» отдельно проверьте состояние при пустом содержимом.

Проверка в проекте

  • Проверьте вычисленное значение border-shape, наследование и контекст родителя; результат относится непосредственно к «border-shape».
  • Сравнить дерево доступности до и после добавления конструкции при разборе «border-shape».
  • Проверьте «border-shape» на панели управления с асинхронным обновлением данных через состояние при пустом содержимом и запишите наблюдаемое изменение.
Выбор конструкции

Выбор «border-shape» оправдан, если задача относится к области «раскладка и позиционирование», а риск «изолированная декларация border-shape без связанных ограничений может дать другой результат в реальном компоненте» исключён проверкой. Для «border-shape» сравнивайте не внешний вид, а результат для пользователя.

Практика с border-shape

Перенесите «border-shape» в тестовом шаблоне и испытайте его на панели управления с асинхронным обновлением данных. Сначала воспроизведите правильный результат, затем намеренно добавьте риск для «border-shape»: изолированная декларация border-shape без связанных ограничений может дать другой результат в реальном компоненте.

раскладка и позиционированиеborder-shape

Сценарий: на панели управления с асинхронным обновлением данных.

Ошибки при работе с border-shape

01

Доступность

Изолированная декларация border-shape без связанных ограничений может дать другой результат в реальном компоненте — это предметный риск для «border-shape».

02

Каскад

Зависимость результата от placeholder вместо постоянной подписи при использовании «border-shape».

03

Поддержка

Потеря содержимого при печати или отключении фоновых изображений; для «border-shape» проверьте это отдельно.

Поддержка border-shape

Для «border-shape» таблица собрана из закреплённой версии MDN Browser Compatibility Data. Указанная версия браузера показывает первое заявленное появление базовой поддержки «border-shape»; окончательное решение принимайте по аудитории конкретного проекта.

Chromeс версии 147Edgeс версии 147Firefoxс версии нет данныхSafariс версии нет данных

Спецификация: источник 1.

Вопросы о border-shape

Как понять, что «border-shape» выбрано правильно?

«border-shape» выбрано правильно, когда оно решает задачу «управлять местом элемента в потоке, его контекстом или взаимным расположением блоков», сохраняет результат на панели управления с асинхронным обновлением данных и проходит предметную проверку: проверьте вычисленное значение border-shape, наследование и контекст родителя.

Нужен ли запасной вариант для «border-shape»?

Для «border-shape» запасной вариант обязателен: возможность отмечена как экспериментальная. Сначала реализуйте базовое поведение «border-shape», затем подключайте улучшение после проверки поддержки.

Спецификации и источники

Синтаксис и статус проверяются по HTML Living Standard, спецификациям CSS и MDN Browser Compatibility Data. Примеры и объяснения подготовлены для этого сервиса.