xywh() CSS-Funktion
Baseline
2024
Neu verfügbar
Seit January 2024 funktioniert diese Funktion auf aktuellen Geräten und in aktuellen Browserversionen. Auf älteren Geräten oder in älteren Browsern funktioniert sie möglicherweise nicht.
Die xywh()-Funktion CSS erstellt ein Rechteck unter Verwendung der angegebenen Abstände von den linken (x) und oberen (y) Rändern des enthaltenden Blocks sowie der angegebenen Breite (w) und Höhe (h) des Rechtecks. Es 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, entlang dem sich ein Element bewegt, in clip-path, um die Form des Clipping-Bereichs zu definieren, und in border-shape, um die Form des Rahmens eines Elements 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);
border-shape: xywh(5% 5% 90% 90% round 20px);
Werte
<length-percentage>-
Gibt die
<length-percentage>-Werte für diex- undy-Koordinaten des Rechtecks an. <length-percentage [0,â]>-
Gibt nicht-negative
<length-percentage>-Werte für die Breite und Höhe des Rechtecks an. Der Mindestwert kann null sein, und der Höchstwert ist unbegrenzt. round <'border-radius'>-
Gibt den Radius der abgerundeten Ecken des Rechtecks an, unter Verwendung der gleichen Syntax wie die CSS-Kurzschreibweise
border-radius. 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
>Erstellen eines offset-path mit xywh()
Im nachstehenden Beispiel verwendet die Eigenschaft offset-path die xywh()-Funktion, um die Form des Pfades zu definieren, auf dem sich das Element, in diesem Fall ein magentafarbener Kasten, bewegt. Zwei verschiedene Szenarien werden gezeigt, jeweils mit unterschiedlichen Werten für die xywh()-Funktion. Der Pfeil innerhalb der Kästen zeigt zur rechten Kante des Kastens.
<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 Pfades 1 wird um
20pxvon den linken und oberen Rändern des enthaltenden Blocks verschoben. Dieses Pfadrechteck hat die gleichen Abmessungen wie der enthaltende Block, das heiÃt, die Breite beträgt100%der Breite des enthaltenden Blocks, und die Höhe beträgt100%der Höhe des enthaltenden Blocks. Beachten Sie, wie der Pfeil innerhalb des Kastens der10%-Kurve (definiert durchround 10%) an den Ecken des rechteckigen Pfads folgt. - Da das obere Limit von sowohl Breite als auch Höhe in
xywh()unendlich ist, macht das Einstellen der Höhe auf200%im Pfad-2-Rechteck das generierte Rechteck doppelt so hoch wie den enthaltenden Block. Beachten Sie, wie sich der Pfeil innerhalb des Kastens an den Ecken verhält, wenn keinround <'border-radius'>angegeben ist.
Spezifikationen
| Spezifikation |
|---|
| CSS Shapes Module Level 1 > # funcdef-basic-shape-xywh > |
Browser-Kompatibilität
Siehe auch
inset()-Funktionrect()-Funktionborder-shape-Eigenschaftclip-path-Eigenschaftoffset-path-Eigenschaft<basic-shape>-Datentyp- CSS-Formen Modul
- Leitfaden zu grundlegenden Formen