Spec-Zone.ru › CSS

xywh()

Функция xywh() CSS создает прямоугольник, используя заданные расстояния от левого (x) и верхнего (y) краев содержащего блока, а также заданную ширину (w) и высоту (h) прямоугольника. Это базовая функция для фигур <basic-shape> типа данных. Вы можете использовать функцию xywh() в свойствах CSS, таких как offset-path, для создания прямоугольного пути движения элемента, и в clip-path для определения формы области обрезки.

Синтаксис

offset-path: xywh(0 1% 2px 3% round 0 1px 2% 3px);
clip-path: xywh(1px 2% 3px 4em round 0 1% 2px 3em);

Значения

<length-percentage>

Указывает значения <length-percentage> для x и y координат прямоугольника.

<length-percentage [0,∞]>

Указывает неотрицательные значения <length-percentage> для ширины и высоты прямоугольника. Минимальное значение может быть нулём, максимальное — не ограничено.

round <'border-radius'>

Указывает радиус закругленных углов прямоугольника, используя тот же синтаксис, что и сокращенное свойство CSS border-radius. Этот параметр является необязательным.

Примеры

Создание пути смещения с помощью xywh()

В примере ниже свойство offset-path использует функцию xywh() для определения формы пути, по которому перемещается элемент (в данном случае, фиолетовая рамка). Показаны два сценария с разными значениями функции xywh(). Стрелка внутри прямоугольников указывает на правый край.

<div class="container">
  Rectangular path 1
  <div class="path xywh-path-1">→</div>
</div>
<div class="container">
  Rectangular path 2
  <div class="path xywh-path-2">→</div>
</div>
.container {
  position: relative;
  display: inline-block;
  width: 200px;
  height: 200px;
  border: 1px solid black;
  margin: 30px;
  text-align: center;
}

.path {
  width: 50px;
  height: 50px;
  position: absolute;
  background-color: magenta;
  animation: move 10s linear infinite;
}

.xywh-path-1 {
  offset-path: xywh(20px 20px 100% 100% round 10%);
}

.xywh-path-2 {
  offset-path: xywh(20px 30% 150% 200%);
}

@keyframes move {
  0% {
    offset-distance: 0%;
  }
  100% {
    offset-distance: 100%;
  }
}

Результат

  • Прямоугольник пути 1 смещен на 20px от левого и верхнего краев содержащего блока. Размеры этого прямоугольника такие же, как у содержащего блока, то есть ширина составляет 100% от ширины, а высота — 100% от высоты содержащего блока. Обратите внимание, как стрелка внутри прямоугольника следует по 10% кривой (определенной round 10%) в углах прямоугольного пути.
  • Так как верхний предел ширины и высоты в xywh() бесконечен, установка высоты в 200% для прямоугольника пути 2 делает прямоугольник в два раза выше содержащего блока. Обратите внимание, как ведет себя стрелка внутри прямоугольника в углах, когда round <'border-radius'> не указано.

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

Спецификация
CSS Shapes Module Level 1
# funcdef-basic-shape-xywh

Совместимость с браузерами

Рабочие столы Мобильные устройства
Chrome Edge Firefox Opera Safari Chrome Android Firefox for Android Opera Android Safari on IOS Samsung Internet WebView Android
xywh
116Поддерживается только в свойстве offset-path.
116Поддерживается только в свойстве offset-path.
122
102Поддерживается только в свойстве offset-path.
17.2
116Поддерживается только в свойстве offset-path.
122
78Поддерживается только в свойстве offset-path.
17.2
24.0Поддерживается только в свойстве offset-path.
116Поддерживается только в свойстве offset-path.

См. также

  • inset() функция
  • rect() функция
  • clip-path свойство
  • offset-path свойство
  • <basic-shape> тип данных
  • Модуль CSS shapes
  • Руководство по базовым фигурам

© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/CSS/basic-shape/xywh

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API