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() CSS function

Eingeschränkt verfügbar

Diese Funktion ist nicht Baseline, da sie in einigen der am weitesten verbreiteten Browser nicht funktioniert.

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 Eckformen entweder direkt oder über <corner-shape-value> Schlüsselwörter festzulegen.

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 -infinity bis infinity, einschließlich.

Rückgabewert

Eine Superellipse-Form.

Beschreibung

Die superellipse() Funktion gibt eine Superellipse-Form zurück, die verwendet wird, um corner-shape Werte zu spezifizieren. 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 unter Verwendung einer modifizierten Version einer Ellipse berechnet. Die folgende Gleichung definiert eine Ellipse, die am Ursprung zentriert ist:

x 2 a 2 + y 2 b 2 = 1

Die Variablen a und b beziehen sich auf die Radien der Ellipse, während die Koordinaten x und y Punkte auf der Umkreislinie der Ellipse sind.

Ein Kreis ist eine Ellipse, bei der die Radien, also das a und b in der vorherigen Gleichung, die gleiche Länge haben. Wenn a und b beide gleich r sind, kann die Gleichung für einen Kreis wie folgt geschrieben werden:

x 2 + y 2 = r 2

In dieser Gleichung sind x und y Koordinaten von Punkten auf der Umkreislinie des Kreises, und r ist der Radius des Kreises, wobei das Zentrum des Kreises bei (0, 0) liegt. Die Ellipse wird durch das Skalieren einer Kreisform entlang der x- und/oder y-Achse erzeugt.

Eine Superellipse-Form wird erstellt, indem der Exponent 2 in jedem Fall durch 2K ersetzt wird, wobei K das Argument ist, das an die superellipse() Funktion übergeben wird und die Krümmung der Ellipse verändert:

x 2 K + y 2 K = 1

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

Linien-Diagramm, das die Ellipsen illustriert, die mit unterschiedlichen K-Werten erstellt werden, wie nachfolgend beschrieben

  • Ein K-Wert von 0 erzeugt eine gerade Linie. Dieser Wert kann zur Erstellung von abgeschrägten Ecken verwendet werden und entspricht dem <corner-shape-value> Schlüsselwort bevel.
  • Ein K-Wert von 1 erzeugt eine gewöhnliche Ellipse, die dem round Schlüsselwort entspricht.
  • Ein K-Wert von >1 macht die Ellipsenform quadratischer; 2 entspricht dem squircle Schlüsselwort.
  • Ein K-Wert von infinity erzeugt ein perfektes Quadrat (das dem square Schlüsselwort entspricht), 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 Eckformen führt, die nach innen gekrümmt oder "ausgehöhlt" sind. Ein K-Wert von -1 entspricht dem scoop Schlüsselwort und -infinity 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 derselbe für diesen K-Wert sein. Wenn dieser Wert auf zwei Elemente angewendet wird, kann das Erscheinungsbild der Eckform variieren, wenn die Boxgröße oder border-radius Werte unterschiedlich sind.

Formale Syntax

<superellipse()> = 
superellipse( <number> |
infinity |
-infinity )

Beispiele

superellipse() Wertvergleich

In diesem Beispiel erlauben zwei <input type="range"> Schieberegler Ihnen, durch viele verschiedene corner-shape superellipse() Werte und border-radius Werte zu navigieren, sodass Sie die Effekte jedes einzelnen auf einen Container vergleichen können. Der Code ist der Kürze halber versteckt, aber die vollständige Erklärung des Superellipse-Wertvergleichs wird auf der corner-shape Referenzseite bereitgestellt.

Hinweis: Siehe auch das Beispiel zum <corner-shape-value> Wertvergleich.

Spezifikationen

Spezifikation
CSS Borders and Box Decorations Module Level 4
# funcdef-superellipse

Browser-Kompatibilität

Siehe auch