Функция xywh()

Стилевая функция xywh() позволяет создать прямоугольник на основе его ширины и высоты, а также установить положение прямоугольника, задавая расстояния от левой и правой стороны области.

Параметры xywh()

Рис. 1. Параметры xywh()

Функция xywh() применяется как значение следующих свойств:

  • offset-path — задаёт путь, по которому должен следовать элемент;
  • clip-path — определяет форму области отсечения.

Синтаксис

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

Значения

<x>
Расстояние от левого края области до левой стороны прямоугольника в процентах или в доступных единицах CSS, например — px, em, rem и др.
<y>
Расстояние от верхнего края области до верхней стороны прямоугольника в процентах или в доступных единицах CSS.
<w>
Ширина прямоугольника в процентах или в доступных единицах CSS.
<h>
Высота прямоугольника в процентах или в доступных единицах CSS.
round <border-radius>
Необязательное ключевое слово round означает, что у прямоугольника следует сделать скруглённые уголки. Используется тот же синтаксис, что и для свойства border-radius.

Пример

<!DOCTYPE html> <html lang="ru"> <head> <meta charset="utf-8"> <title>xywh()</title> <style> .path { height: 200px; /* Высота */ margin: 1rem; /* Расстояние от края до линии */ position: relative; /* Относительное позиционирование */ } .airplane { position: absolute; /* Абсолютное позиционирование */ width: 30px; /* Ширина картинки */ offset-path: xywh(10% 10% 80% 80%); /* Путь */ animation: move 7s linear infinite; /* Параметры анимации */ } @keyframes move { from { offset-distance: 0%; /* Начальное положение */ } to { offset-distance: 100%; /* Конечное положение */ } } </style> </head> <body> <div class="path"> <img src="image/airplane.svg" alt="Самолёт" class="airplane"> </div> </body> </html>

Примечание

Браузеры Edge, Chrome и Opera поддерживают функцию xywh() только для свойства offset-path.

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

CSS Shapes Module Level 1

Браузеры

116 116 102 17.2 122
116 122 78 17.2

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

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

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