[go: up one dir, main page]

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

View in English Always switch to English

hypot()

Baseline 2023
Newly available

Since ⁨December 2023⁩, this feature works across the latest devices and browser versions. This feature might not work in older devices or browsers.

Die hypot() CSS Funktion ist eine exponentielle Funktion, die die Quadratwurzel der Summe der Quadrate ihrer Parameter zurückgibt.

Während pow() und sqrt() nur mit einheitenlosen Zahlen arbeiten, akzeptiert hypot() Werte mit Einheiten, aber alle müssen denselben Typ haben.

Syntax

css
/* A <number> value */
width: hypot(2em); /* 2em */
width: hypot(3em, 4em); /* 5em */
width: hypot(30px, 40px); /* 50px */
width: hypot(48px, 64px); /* 80px */
width: hypot(3px, 4px, 5px); /* 7.0710678118654755px */

Parameter

Die hypot(x [, ...]#)-Funktion akzeptiert eine oder mehrere durch Kommas getrennte Berechnungen als Parameter.

x, x2, ..., xN

Eine Berechnung, die auf eine <number>, <dimension>, oder <percentage> auflöst.

Rückgabewert

Gibt eine <number>, <dimension>, oder <percentage> (basierend auf den Eingaben) zurück, die die Quadratwurzel der Summe der Quadrate ihrer Parameter ist.

  • Wenn einer der Eingaben unendlich ist, ist das Ergebnis +∞.
  • Wenn nur ein Parameter übergeben wird, ist das Ergebnis der absolute Wert des Eingabewerts. hypot(2em) und hypot(-2em) ergeben beide 2em.

Formale Syntax

<hypot()> = 
hypot( <calc-sum># )

<calc-sum> =
<calc-product> [ [ '+' | '-' ] <calc-product> ]*

<calc-product> =
<calc-value> [ [ '*' | / ] <calc-value> ]*

<calc-value> =
<number> |
<dimension> |
<percentage> |
<calc-keyword> |
( <calc-sum> )

<calc-keyword> =
e |
pi |
infinity |
-infinity |
NaN

Beispiele

Größen basierend auf der hypot-Funktion

Dieses Beispiel zeigt, wie Sie die hypot()-Funktion verwenden können, um Größen zu berechnen.

HTML

html
<div class="boxes">
  <div class="box">100px</div>
  <div class="box one">100px</div>
  <div class="box two">141.42px</div>
  <div class="box three">250px</div>
</div>

CSS

Hier verwenden wir CSS-Custom Properties, um die zu verwendenden Größen zu definieren. Zuerst erklären wir die erste Größe (--size-0), die dann verwendet wird, um die anderen Größen zu berechnen.

  • --size-1 wird mit der Hypotenuse von --size-0 (100px) berechnet. Dies nimmt den Quadratwert und, da es keinen weiteren Wert gibt, gibt es die Quadratwurzel des Wertes zurück, was zu 100px führt.
  • --size-2 wird mit der Hypotenuse von --size-0 (100px), zweimal berechnet. Dies nimmt den Quadratwert des Wertes (100px * 100px = 10000px2) und addiert ihn zum Quadrat von --size-0 erneut (10000px2 + 10000px2 = 20000px2) und gibt die Quadratwurzel der Summe zurück (√(20000px2)), was zu 141,42px führt.
  • --size-3 wird mit der Hypotenuse --size-0 * 1,5 (150px) und --size-0 * 2 (200px) berechnet. Das Ergebnis ist die Quadratwurzel der Summe ihrer Quadrate: Die Werte werden quadriert (22500px2 und 40000px2) und zusammenaddiert (62500px2), wobei die Summe quadriert wird (√(62500px2)), was 250px ergibt.
css
:root {
  --size-0: 100px;
  --size-1: hypot(var(--size-0)); /*  100px */
  --size-2: hypot(var(--size-0), var(--size-0)); /*  141.42px */
  --size-3: hypot(
    calc(var(--size-0) * 1.5),
    calc(var(--size-0) * 2)
  ); /*  250px */
}

Die Größen werden dann als width und height Werte der Selektoren angewendet.

css
.one {
  width: var(--size-1);
  height: var(--size-1);
}
.two {
  width: var(--size-2);
  height: var(--size-2);
}
.three {
  width: var(--size-3);
  height: var(--size-3);
}

Ergebnis

Spezifikationen

Specification
CSS Values and Units Module Level 4
# exponent-funcs

Browser-Kompatibilität

Siehe auch