sqrt()

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.

sqrt() CSS 関数 は指数関数で、数値の平方根を返します。

sqrt(x)pow(x, 0.5) と同等です。

構文

css
/* <number> 値 */
width: calc(100px * sqrt(9)); /*  300px */
width: calc(100px * sqrt(25)); /*  500px */
width: calc(100px * sqrt(100)); /* 1000px */

引数

sqrt(x) 関数は、1 つの引数を受け取ります。

x

0 以上の、 <number> に解決される計算式です。

返値

x の平方根を <number> として返します。

  • x+∞ の場合、 +∞ を返します。
  • x0⁻ の場合、 0⁻ を返します。
  • x0 より小さい場合、 NaN を返します。

形式文法

<sqrt()> = 
sqrt( <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

平方根をもとにしたサイズの拡大

この例では、sqrt() 関数を使用してサイズを計算します。

HTML

html
<div class="boxes">
  <div class="box">50px</div>
  <div class="box one">100px</div>
  <div class="box two">150px</div>
  <div class="box three">200px</div>
</div>

CSS

ここではサイズを定義するために、CSS カスタムプロパティ を利用しています。はじめに最初のサイズ (--size-0) を宣言し、これを使用して他のサイズを計算します。

  • --size-1 は、--size-0 の値 (50px) に 4 の平方根 (2) を掛けて、100px になります。
  • --size-2 は、--size-0 の値 (50px) に 9 の平方根 (3) を掛けて、150px になります。
  • --size-3 は、--size-0 の値 (50px) に 16 の平方根 (4) を掛けて、200px になります。
css
:root {
  --size-0: 50px;
  --size-1: calc(var(--size-0) * sqrt(4)); /* 100px */
  --size-2: calc(var(--size-0) * sqrt(9)); /* 150px */
  --size-3: calc(var(--size-0) * sqrt(16)); /* 200px */
}

計算したサイズは、各セレクターの widthheight の値として使用されます。

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);
}

結果

仕様書

Specification
CSS Values and Units Module Level 4
# exponent-funcs

ブラウザーの互換性

Report problems with this compatibility data on GitHub
desktopmobile
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
sqrt()

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support
No support
No support

関連情報