Newly available 条件付きOK。Chrome 125+・Safari 17.2+・Firefox 118+で利用可能。

概要

round() は値を指定した間隔で丸める(nearest/up/down/to-zero の4つの丸め戦略)。mod() はモジュロ演算(除数の符号に従う)、rem() は剰余演算(被除数の符号に従う)を行う。グリッドのスナップや周期的なパターン生成にCSSだけで対応できる。

対応ブラウザ

デスクトップ

Chrome 125+
Edge 125+
Safari 17.2+
Firefox 118+

モバイル

Chrome Android 125+
Safari iOS 17.2+
Firefox Android 118+

基本構文

CSS
.grid-snap {
  /* 8pxグリッドにスナップ */
  width: round(var(--dynamic-width), 8px);
}

.alternating {
  /* 要素インデックスの偶奇判定 */
  --is-even: mod(var(--index), 2);
}

.cycle {
  /* 5つのカラーをループ */
  --color-index: mod(var(--index), 5);
}

実務での使いどころ

  • グリッドスナップ

    round() で動的に計算されたサイズを基準グリッドに合わせて整列する。

  • 周期的パターン

    mod() でインデックスの剰余を取り、色やスタイルの周期的な切り替えを行う。

注意点

  • mod() と rem() は符号の扱いが異なる。数学的な mod が必要な場合は mod()、プログラミング言語的な剰余は rem() を使用。

アクセシビリティ

  • round() で丸められた値によりテキストが切れたり、操作領域が小さくなりすぎたりしないよう注意する。