hypot() CSS-Funktion
Baseline
2023
Neu verfügbar
Seit December 2023 funktioniert diese Funktion auf aktuellen Geräten und in aktuellen Browserversionen. Auf älteren Geräten oder in älteren Browsern funktioniert sie möglicherweise nicht.
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 einheitslosen Zahlen arbeiten, akzeptiert hypot() Werte mit Einheiten, jedoch müssen sie 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 Funktion hypot(x [, ...]#) akzeptiert eine oder mehrere durch Kommas getrennte Berechnungen als Parameter.
x,x2, ...,xN-
Eine Berechnung, die zu einer
<number>,<dimension>, oder<percentage>aufgelöst wird.
Rückgabewert
Gibt eine <number>, <dimension>, oder <percentage> zurück (basierend auf den Eingaben), was die Quadratwurzel der Summe der Quadrate ihrer Parameter ist.
- Wenn einer der Eingaben
unendlichist, ist das Ergebnis+∞. - Wenn ein einziger Parameter zur Verfügung gestellt wird, ist das Ergebnis der absolute Wert seiner Eingabe.
hypot(2em)undhypot(-2em)lösen sich beide zu2emauf.
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 deklarieren wir die erste Größe (--size-0), die dann zur Berechnung der anderen Größen verwendet wird.
--size-1wird mit der Hypotenuse von--size-0(100px) berechnet. Dies nimmt den Quadratwert und da es keinen anderen 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 das Quadrat des Wertes (100px * 100px = 10000px2) und fügt es dem Quadrat von--size-0wieder hinzu (10000px2 + 10000px2 = 20000px2) und gibt die Quadratwurzel der Summe (√(20000px2)) zurück, 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)) 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
| Spezifikation |
|---|
| CSS Values and Units Module Level 4> # exponent-funcs> |