hypot()
Базовая версия 2023
Новое доступно
С декабря 2023 года эта функция работает на последних версиях устройств и браузеров. Эта функция может не работать на старых устройствах или браузерах.
Функция hypot() CSS функция является показательной функцией, которая возвращает квадратный корень суммы квадратов своих параметров.
В то время как pow() и sqrt() работают только с безразмерными числами, hypot() принимает значения с единицами измерения, но они все должны иметь одинаковый тип.
Синтаксис
/* 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 */
Параметры
Функция hypot(x [, ...]#) принимает один или несколько разделенных запятыми вычислений в качестве параметров.
-
x,x2, ...,xN -
Вычисление, которое разрешается до
<number>,<dimension>или<percentage>.
Возвращаемое значение
Возвращает <number>, <dimension> или <percentage> (в зависимости от входных данных), который является квадратным корнем из суммы квадратов своих параметров.
- Если любой из входных данных является
infinite, результат+∞. - Если предоставлен единственный параметр, результат — абсолютное значение его входного значения.
hypot(2em)иhypot(-2em)оба разрешаются до2em.
Формальный синтаксис
Примеры
Размеры, основанные на функции hypot
Этот пример демонстрирует, как использовать функцию hypot() для расчета размеров.
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
Здесь мы используем CSS пользовательские свойства для определения размеров, которые будут использоваться. Сначала мы объявляем первый размер (--size-0) который затем используется для вычисления других размеров.
-
--size-1рассчитывается с помощью гипотенузы--size-0(100px). Это принимает квадратное значение и, поскольку другого значения нет, возвращает квадратный корень из значения, что приводит к 100px. -
--size-2рассчитывается с помощью гипотенузы--size-0(100px), дважды. Это возводит значение в квадрат (100px * 100px = 10000px2) и добавляет его к квадрату--size-0снова (10000px2 + 10000px2 = 20000px2) и возвращает квадратный корень из суммы (√(20000px2)), что составляет 141,42px. -
--size-3рассчитывается с помощью гипотенузы--size-0* 1,5 (150px) и--size-0* 2 (200px). Результатом является квадратный корень из суммы их квадратов: значения возводятся в квадрат (22500px2 и 40000px2) и складываются (62500px2), а сумма извлекается из квадратного корня (√(62500px2)), что составляет 250px.
: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 */
}
Затем размеры применяются как значения width и height селекторов.
.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);
}
Результат
Спецификации
Совместимость с браузерами
| Рабочий стол | Мобильный | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox для Android | Opera Android | Safari на iOS | Samsung Internet | WebView Android | |
hypot |
120 | 120 | 118 | 106 | 15.4 | 120 | 118 | 80 | 15.4 | 25.0 | 120 |
См. также
© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/CSS/hypot