Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

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

css
superellipse(infinity)
superellipse(4)
superellipse(1.7)
superellipse(0)
superellipse(-2.8)
superellipse(-3)
superellipse(-infinity)

Parameter

<number>

Eine Zahl im Bereich von -unendlich bis unendlich, 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:

x 2 a 2 + y 2 b 2 = 1

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:

x 2 + y 2 = r 2

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:

x 2 K + y 2 K = 1

Das folgende Diagramm veranschaulicht verschiedene superellipse() Werte für die obere rechte Ecke eines Containers: unendlich, 1, 0, -1 und -unendlich:

Liniendiagramm, das die mit verschiedenen K-Werten erzeugten Ellipsen veranschaulicht, wie im Folgenden beschrieben

  • Ein K-Wert von 0 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 von 1 erzeugt eine gewöhnliche Ellipse, entsprechend dem round Schlüsselwort.
  • Ein K-Wert von >1 macht die Ellipsenform quadratischer; 2 entspricht dem squircle Schlüsselwort.
  • Ein K-Wert von unendlich erzeugt ein perfektes Quadrat (entspricht dem square Schlüsselwort), obwohl K-Werte von 10 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. Ein K-Wert von -1 entspricht dem scoop Schlüsselwort und -unendlich entspricht dem notch 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

Siehe auch