Limited support 注意が必要。一部のブラウザのみ対応。プロダクション利用は慎重に判断すること。

概要

@functionルールにより、CSSの中で再利用可能なカスタム関数を作成できます。条件付きロジックを含む複雑な値の計算を一箇所に集約でき、スタイルシートの保守性が大幅に向上します。@mediaなどの条件付きルールと組み合わせて柔軟な値の生成が可能です。

対応ブラウザ

デスクトップ

Chrome 139+
Edge 139+
Safari 未対応
Firefox 未対応

モバイル

Chrome Android 139+
Safari iOS 未対応
Firefox Android 未対応

基本構文

CSS
@function --spacing(--level) {
  result: calc(var(--level) * 8px);
}
.card {
  padding: --spacing(2);
}

実務での使いどころ

  • デザイントークンの動的生成

    スペーシングやフォントサイズなどのデザイントークンをカスタム関数で計算し、一貫性のあるデザインシステムを構築します。

注意点

  • 非常に新しい機能であり、2026年3月時点でChrome/Edgeのみの対応です。プロダクションでの使用には十分な検証が必要です。

アクセシビリティ

  • 関数自体はアクセシビリティに直接影響しませんが、生成される値がコントラスト比やフォントサイズの基準を満たしているか確認してください。