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
/* 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
unendlichist, ist das Ergebnis+∞. - Wenn nur ein Parameter übergeben wird, ist das Ergebnis der absolute Wert des Eingabewerts.
hypot(2em)undhypot(-2em)ergeben beide2em.
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
<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-1wird 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-2wird 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-0erneut (10000px2 + 10000px2 = 20000px2) und gibt die Quadratwurzel der Summe zurück (√(20000px2)), was zu 141,42px führt.--size-3wird 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.
: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.
.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> |