superellipse()
Die superellipse()
CSS Funktion definiert die Krümmung einer Ellipse und wird verwendet, um Eckenformen entweder direkt oder über <corner-shape-value>
Schlüsselwörter anzugeben.
Syntax
superellipse(infinity)
superellipse(4)
superellipse(1.7)
superellipse(0)
superellipse(-2.8)
superellipse(-3)
superellipse(-infinity)
Parameter
<number>
-
Eine Zahl im Bereich von
-unendlich
bisunendlich
, inklusive.
Rückgabewert
Eine Superellipse-Form.
Beschreibung
Die superellipse()
Funktion gibt eine Superellipse-Form zurück, die verwendet wird, um corner-shape
Werte anzugeben. Eine Superellipse ist eine geschlossene, symmetrische Kurve zwischen einem Rechteck und einer Ellipse. Sie ähnelt einer Ellipse, die die geometrischen Merkmale ihrer beiden Achsen beibehält.
Die Superellipse-Form wird mit einer modifizierten Version einer Ellipse berechnet. Die folgende Gleichung definiert eine an den Ursprung zentrierte Ellipse:
Die Variablen a
und b
beziehen sich auf die Radien der Ellipse, während die x
und y
Koordinaten Punkte auf der Umfassung der Ellipse sind.
Ein Kreis ist eine Ellipse, bei der die Radien a
und b
in der vorherigen Gleichung die gleiche Länge haben. Mit a
und b
gleich r
kann die Gleichung für einen Kreis wie folgt geschrieben werden:
In dieser Gleichung sind x
und y
die Koordinaten von Punkten auf der Kreisumfassung, und r
ist der Radius des Kreises, mit dem Zentrum des Kreises bei (0, 0)
. Die Ellipse wird erzeugt, indem die Kreisform entlang der x
- und/oder y
-Achse skaliert wird.
Eine Superellipse-Form entsteht, indem der Exponent 2
in jedem Fall durch 2K ersetzt wird, wobei K
das an die superellipse()
Funktion übergebene Argument ist, das die Krümmung der Ellipse modifiziert:
Das folgende Diagramm veranschaulicht verschiedene superellipse()
Werte für die obere rechte Ecke eines Containers: unendlich
, 1
, 0
, -1
und -unendlich
:
- Ein
K
-Wert von0
erzeugt eine gerade Linie. Dieser Wert kann verwendet werden, um abgeschrägte Ecken zu erzeugen und entspricht dem<corner-shape-value>
bevel
Schlüsselwort. - Ein
K
-Wert von1
erzeugt eine gewöhnliche Ellipse, entsprechend demround
Schlüsselwort. - Ein
K
-Wert von>1
macht die Ellipsenform quadratischer;2
entspricht demsquircle
Schlüsselwort. - Ein
K
-Wert vonunendlich
erzeugt ein perfektes Quadrat (entspricht demsquare
Schlüsselwort), obwohlK
-Werte von10
oder mehr praktisch nicht von einem Quadrat zu unterscheiden sind. - Negative
K
-Werte führen zu einer konkaven Kurve, was zu Eckenformen führt, die nach innen gekrümmt oder "ausgehöhlt" sind. EinK
-Wert von-1
entspricht demscoop
Schlüsselwort und-unendlich
entspricht demnotch
Schlüsselwort.
Eine negative oder positive Superellipse würde symmetrisch zu einer Superellipse mit ihrem inversen Wert erscheinen.
Hinweis:
Für jeden übergebenen K
-Parameterwert wird der Rückgabewert der superellipse()
Funktion immer gleich für diesen K
-Wert sein. Wenn dieser Wert auf zwei Elemente angewendet wird, kann das Erscheinungsbild der Eckenform abweichen, wenn die Boxgröße oder border-radius
Werte unterschiedlich sind.
Formale Syntax
<superellipse()> =
superellipse( <number [-∞,∞]> |
infinity |
-infinity )
Beispiele
>superellipse()
Wertvergleich
In diesem Beispiel ermöglichen zwei <input type="range">
Schieberegler das Durchlaufen vieler verschiedener corner-shape
superellipse()
Werte und border-radius
Werte, sodass Sie die Auswirkungen auf einen Container vergleichen können. Der Code ist der Kürze halber ausgeblendet, aber die vollständige Erklärung des Superellipse-Wertvergleichs wird auf der corner-shape
Referenzseite bereitgestellt.
Hinweis:
Siehe auch das Beispiel Vergleich der <corner-shape-value>
Werte.
Spezifikationen
Specification |
---|
CSS Borders and Box Decorations Module Level 4> # funcdef-superellipse> |
Browser-Kompatibilität
Loading…