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