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 auf einheitenlosen Zahlen funktionieren, akzeptiert hypot()
Werte mit Einheiten, aber sie müssen alle 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 ihre Parameter.
x
,x2
, ...,xN
-
Eine Berechnung, die sich zu einem
<number>
,<dimension>
, oder<percentage>
auflöst.
Rückgabewert
Gibt ein <number>
, <dimension>
, oder <percentage>
(basierend auf den Eingaben) zurück, das die Quadratwurzel der Summe der Quadrate seiner Parameter ist.
- Wenn eine der Eingaben
unendlich
ist, ist das Ergebnis+∞
. - Wenn ein einzelner Parameter angegeben wird, ist das Ergebnis der absolute Wert seiner Eingabe.
hypot(2em)
undhypot(-2em)
werden beide zu2em
.
Formale Syntax
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 deklarieren 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 quadratischen Wert und da es keinen anderen 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 führt das Quadrat des Wertes (100px * 100px = 10000px2) aus und addiert es erneut zum Quadrat von--size-0
(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 zusammengezählt (62500px2), wobei die Summe quadriert wird (√(62500px2)) und 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 |
Browser-Kompatibilität
BCD tables only load in the browser