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 Exponentialfunktion, die die Quadratwurzel der Summe der Quadrate ihrer Parameter zurückgibt.

Während pow() und sqrt() nur mit dimensionslosen Zahlen arbeiten, akzeptiert hypot() Werte mit Einheiten, aber sie müssen alle 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 zu einem <number>, <dimension>, oder <percentage> führt.

Rückgabewert

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

  • Ist eine der Eingaben unendlich, ist das Ergebnis +∞.
  • Wird nur ein Parameter bereitgestellt, ist das Ergebnis der absolute Wert seiner Eingabe. 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 zur Berechnung von Größen verwenden können.

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 deklarieren wir die erste Größe (--size-0), die dann zur Berechnung der anderen Größen verwendet wird.

  • --size-1 wird mit der Hypotenuse von --size-0 (100px) berechnet. Dies nimmt den Quadratwert und da es keinen weiteren Wert gibt, wird die Quadratwurzel des Wertes zurückgegeben, was in 100px resultiert.
  • --size-2 wird mit der Hypotenuse von --size-0 (100px), zweimal berechnet. Dies ergibt das Quadrat des Wertes (100px * 100px = 10000px2) und wird wieder zum Quadrat von --size-0 addiert (10000px2 + 10000px2 = 20000px2) und gibt die Quadratwurzel der Summe zurück (√(20000px2)), was 141,42px ergibt.
  • --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 zusammen addiert (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