xywh()
Baseline
2024
Newly available
Since January 2024, this feature works across the latest devices and browser versions. This feature might not work in older devices or browsers.
Die xywh() CSS Funktion erstellt ein Rechteck mit den angegebenen Abständen von den linken (x) und oberen (y) Rändern des umschließenden Blocks und der angegebenen Breite (w) und Höhe (h) des Rechtecks. Sie ist eine grundlegende Formfunktion des <basic-shape> Datentyps. Sie können die xywh()-Funktion in CSS-Eigenschaften wie offset-path verwenden, um den rechteckigen Pfad zu erstellen, auf dem sich ein Element bewegt, und in clip-path, um die Form des Clippingbereichs zu definieren.
Syntax
offset-path: xywh(0 1% 2px 3% round 0 1px 2% 3px);
clip-path: xywh(1px 2% 3px 4em round 0 1% 2px 3em);
Werte
<length-percentage>-
Spezifiziert die
<length-percentage>Werte für diex- undy-Koordinaten des Rechtecks. <length-percentage [0,∞]>-
Spezifiziert nicht-negative
<length-percentage>Werte für die Breite und Höhe des Rechtecks. Der Mindestwert kann null sein, und es gibt kein Maximum. round <'border-radius'>-
Gibt den Radius der abgerundeten Ecken des Rechtecks an, unter Verwendung der gleichen Syntax wie die CSS-
border-radiusKurzform-Eigenschaft. Dieser Parameter ist optional.
Formale Syntax
<xywh()> =
xywh( <length-percentage>{2} <length-percentage [0,∞]>{2} [ round <'border-radius'> ]? )
<length-percentage> =
<length> |
<percentage>
<border-radius> =
<length-percentage [0,∞]>{1,4} [ / <length-percentage [0,∞]>{1,4} ]?
Beispiele
Erstellung eines offset-paths mit xywh()
Im untenstehenden Beispiel verwendet die offset-path Eigenschaft die xywh()-Funktion, um die Form des Pfads zu definieren, auf dem sich das Element, ein magentafarbenes Kästchen in diesem Fall, bewegt. Zwei verschiedene Szenarien werden gezeigt, jeweils mit unterschiedlichen Werten für die xywh()-Funktion. Der Pfeil in den Kästchen zeigt auf den rechten Rand des Kästchens.
<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%;
}
}
Ergebnis
- Das Rechteck des Pfads 1 ist um
20pxvon den linken und oberen Rändern des umschließenden Blocks versetzt. Dieses Pfadrechteck hat die gleichen Dimensionen wie der umschließende Block, also ist die Breite100%der Breite des umschließenden Blocks, und die Höhe ist100%der Höhe des umschließenden Blocks. Beachten Sie, wie der Pfeil im Kästchen der10%-Kurve (definiert durchround 10%) an den Ecken des rechteckigen Pfades folgt. - Da das obere Limit sowohl für die Breite als auch für die Höhe in
xywh()unendlich ist, erzeugt das Festlegen der Höhe auf200%im Pfad 2 Rechteck ein Rechteck, das doppelt so hoch ist wie der umschließende Block. Beachten Sie, wie sich der Pfeil im Kästchen an den Ecken verhält, wenn keinround <'border-radius'>angegeben ist.
Spezifikationen
| Specification |
|---|
| CSS Shapes Module Level 1 # funcdef-basic-shape-xywh |
Browser-Kompatibilität
Siehe auch
inset()Funktionrect()Funktionclip-pathEigenschaftoffset-pathEigenschaft<basic-shape>Datentyp- CSS shapes Modul
- Leitfaden zu grundlegenden Formen