k8o

Chrome138・Edge138でBaseline2025入りしたCSS abs()とsign()関数

数値の符号を扱うCSS 値関数abs()とsign()がChrome138・Edge138でBaseline2025に追加されました。absは絶対値の取得、signは符号の判定ができる便利な関数です。

公開: 2025年6月25日(水)
更新: 2025年6月25日(水)
閲覧数11 views

CSS数学関数の新機能

Chrome138・Edge138でBaseline2025に追加された新しいCSS 値関数、abs()sign()について解説します。

abs()関数

abs()関数は絶対値を返す関数です。負の数を正の数に変換し、正の数はそのまま返します。

.element {
  width: abs(-100px); /* 100px */
  height: abs(50px); /* 50px */
  margin: abs(calc(-20px + 10px)); /* 10px */
  --offset: -30px;
  padding: abs(var(--offset)); /* 30px */
}

sign()関数

sign()関数は数値の符号を判定し、以下の値を返します:

  • 正の数の場合:1
  • 負の数の場合:-1
  • ゼロの場合:0(ゼロのネガポジは引き継ぐ)
.element {
  --positive: sign(50px); /* 1 */
  --negative: sign(-30px); /* -1 */
  --zero: sign(0px); /* 0 */
}

abs()sign()を利用した例を用意しました。

CSS abs()とsign()の実例

-50px

横方向の位置を調整します

30px

縦方向の位置を調整します

座標: (-50, 30)

座標の絶対値の和: 80

象限: 第二象限

absを用いて、座標の絶対値の和が大きいほど要素のサイズを大きくしています。透明度も同じようにしています。
要素のサイズ: transform: scale(calc(1 + (abs(x) + abs(y)) / 200))
透明度: opacity: calc(0.5 + (abs(x) + abs(y)) / 200)

signを用いて、座標の点の色を変えています。座標の和が正であればhsl(280, 70%, 50%)、負であればhsl(120, 70%, 50%)、0であればhsl(200, 70%, 50%)にしています。
座標の点の色: background-color: 'hsl(calc(sign(var(--x) + var(--y)) * 80 + 200), 70%, 50%)'

まとめ

abs()sign()関数の追加により、CSSでの数学的な処理がより直感的で強力になりました。

この記事はどうでしたか?

500文字以内でご記入ください

ブログの購読

k8oのブログを購読する

k8oのブログを購読することで、最新の情報を受け取ることができます。

登録いただいたメールアドレスは、購読のためにのみ使用されます。