superellipse() CSS-Funktion
Eingeschränkt verfügbar
Diese Funktion ist nicht Baseline, da sie in einigen der am weitesten verbreiteten Browser nicht funktioniert.
Want more browser support for this feature? Tell us why.
Experimentell: Dies ist eine experimentelle Technologie
Überprüfen Sie die Browser-Kompatibilitätstabelle sorgfältig vor der Verwendung auf produktiven Webseiten.
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 zu spezifizieren.
Syntax
superellipse(infinity)
superellipse(4)
superellipse(1.7)
superellipse(0)
superellipse(-2.8)
superellipse(-3)
superellipse(-infinity)
Parameter
<number>-
Eine Zahl im Bereich von
-unendlichbisunendlich, inklusive.
Rückgabewert
Eine Superellipse-Form.
Beschreibung
Die superellipse() Funktion gibt eine Superellipse-Form zurück, die zur Spezifikation von corner-shape Werten verwendet wird. Eine Superellipse ist eine geschlossene kurvensymmetrische Form 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 am Ursprung zentrierte Ellipse:
Die Variablen a und b beziehen sich auf die Radien der Ellipse, während die x und y Koordinaten Punkte auf dem Umfang der Ellipse sind.
Ein Kreis ist eine Ellipse, bei der die Radien, das a und b in der vorherigen Gleichung, die gleiche Länge haben. Mit a und b beide gleich r, kann die Gleichung für einen Kreis wie folgt geschrieben werden:
In dieser Gleichung sind die x und y Koordinaten Punkte auf dem Umfang des Kreises und das r ist der Radius des Kreises, mit dem Mittelpunkt des Kreises bei (0, 0). Die Ellipse entsteht durch Skalierung einer Kreisform entlang der x und/oder y Achse.
Eine Superellipse-Form wird geschaffen, indem der 2 Exponent 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 zeigt verschiedene superellipse() Werte für die obere rechte Ecke eines Containers: unendlich, 1, 0, -1 und -unendlich:
- Ein
KWert von0erzeugt eine gerade Linie. Dieser Wert kann verwendet werden, um abgeschrägte Ecken zu erzeugen und entspricht dem<corner-shape-value>bevelSchlüsselwort. - Ein
KWert von1erzeugt eine gewöhnliche Ellipse, entsprechend demroundSchlüsselwort. - Ein
KWert von>1macht die Ellipsenform quadratischer;2entspricht demsquircleSchlüsselwort. - Ein
KWert vonunendlicherzeugt ein perfektes Quadrat (entsprechend demsquareSchlüsselwort), wobeiKWerte von10oder mehr praktisch nicht von einem Quadrat zu unterscheiden sind. - Negative
KWerte führen zu einer konkaven Krümmung, was zu Eckenformen führt, die nach innen gekrümmt sind oder "ausgehöhlt" wirken. EinKWert von-1entspricht demscoopSchlüsselwort und-unendlichentspricht demnotchSchlü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 derselbe für diesen K Wert sein. Wenn dieser Wert auf zwei Elemente angewendet wird, kann das Aussehen der Eckenform unterschiedlich sein, wenn sich die Boxgröße oder border-radius Werte unterscheiden.
Formale Syntax
<superellipse()> =
superellipse( <number> |
infinity |
-infinity )
Beispiele
>superellipse() Wertvergleich
In diesem Beispiel ermöglichen zwei <input type="range"> Schieberegler das Durchgehen vieler verschiedener corner-shape superellipse() Werte und border-radius Werte, die es Ihnen ermöglichen, die Effekte von jedem auf einen Container zu vergleichen. Der Code ist zur Kürze verborgen, aber die vollständige Erklärung des Superellipse Wertvergleichs wird auf der corner-shape Referenzseite bereitgestellt.
Hinweis:
Siehe auch das Beispiel für den <corner-shape-value> Wertvergleich.
Spezifikationen
| Spezifikation |
|---|
| CSS Borders and Box Decorations Module Level 4> # funcdef-superellipse> |