
CSS random()で紙吹雪を降らせる
Schalk Neethlingは実験的な random() 関数を使い、JavaScriptなしで50要素の紙吹雪フィールドを実装しています。Safari 26.2+ と Chrome 148+(enable-experimental-web-platform-features フラグ必須)で利用可能で、2026年7月13日時点でFirefoxは未対応です。核心的な概念は ランダムキャッシュ名で、オプションの <dashed-ident>・要素・ドキュメントで構成されるタプルです。これにより値はペイントごとのサイコロではなく決定論的な参照となり、ページリロード時のみ紙吹雪が再配置されスタイル再計算中は位置が保持される理由が説明されます。未登録のカスタムプロパティは random() テキストを格納し各 var() 置換箇所で評価するため、プロパティが2回読まれると明示的な名前がなければ異なる値が生成されます。移植可能なフォールバックパターンはデフォルト値と :nth-child ルールを @layer fallback に格納し、非レイヤーの @supports ブロックがレイヤー優先順位で常に勝つようにします。Safariは @property で登録されたカスタムプロパティ内の random() を無視し、これはChromiumとの相違点として著者がリアルタイムで文書化しています。





