この記事では、CSS Space Toggle技法を二値ON/OFFから多状態セレクターにアップグレードしたCyclic Space Togglesを紹介しています。標準のSpace Toggleは、スペース文字に設定したカスタムプロパティがtruthy(var()フォールバックをブロック)でinitialがfalsey(IACVT — Invalid At Computed Value Time)になる仕様を利用し、条件付きプロパティ適用を実現します。Cyclic Space Togglesでは複数のinverted toggleを連鎖させ、--select変数に--option-*参照の組み合わせを指定すると対象オプションだけがinitialに切り替わり、残りはスペース状態を維持します。結果として、boolean専用のショートハンドAPIが生まれます。CSSライブラリの利用者は単一宣言で複数の機能フラグを有効化できます(--bp-fluidity: var(--fluid-xxs) var(--fluid-sm) var(--fluid-lg))。著者は自身のbreakpoint-systemライブラリでの実用例を示し、TailwindのクラスリストをCyclic Toggle型CSSAPIで置き換えるアイデアも提示しています。ブラウザの到達率は約95〜97%と記されています。
この記事では、CSS Space Toggle技法を二値ON/OFFから多状態セレクターにアップグレードしたCyclic Space Togglesを紹介しています。標準のSpace Toggleは、スペース文字に設定したカスタムプロパティがtruthy(var()フォールバックをブロック)でinitialがfalsey(IACVT — Invalid At Computed Value Time)になる仕様を利用し、条件付きプロパティ適用を実現します。Cyclic Space Togglesでは複数のinverted toggleを連鎖させ、--select変数に--option-*参照の組み合わせを指定すると対象オプションだけがinitialに切り替わり、残りはスペース状態を維持します。結果として、boolean専用のショートハンドAPIが生まれます。CSSライブラリの利用者は単一宣言で複数の機能フラグを有効化できます(--bp-fluidity: var(--fluid-xxs) var(--fluid-sm) var(--fluid-lg))。著者は自身のbreakpoint-systemライブラリでの実用例を示し、TailwindのクラスリストをCyclic Toggle型CSSAPIで置き換えるアイデアも提示しています。ブラウザの到達率は約95〜97%と記されています。
2本の短い記事も注目されました。Remy Sharpは、dialogの代わりにpopoverと::backdropをモーダル代用として使う場合にポインターイベントがトラップされずクリックジャッキングリスクがあることを文書化しました。もう1本の記事ではSpace Toggle技法を拡張したCyclic Space Togglesを紹介し、JavaScriptなしで約95〜97%のブラウザでN状態のbooleanショートハンドAPIを実現できることを示しています。