1仕組みと動作原理
信頼性のあるガラスは4つの要素(霜のようなぼかし / 半透明度 / ガラスのエッジ / 奥行き)から合成され、1つでも欠けると単なる半透明のボックスに見えてしまいます。
Glass is never one property. Every panel needs all four, or it reads as a plain translucent box:
backdrop-filterのスコープセマンティクスを活用します。要素の背後にあるコンテンツのみをぼかすため、実際のビジュアル要素やグラデーション背景の上に重ねる必要があり、単色背景では効果が成立しません。
**`backdrop-filter` only blurs content that sits behind the element.** Over a flat background color it does nothing visible — glass needs a busy backdrop (image, gradient, video) to frost.
ディテールへのこだわり:平坦なborderではなく、マスクされた::beforeを用いて単一方向からの受光エッジを表現し、::afterのfeTurbulenceノイズにより強烈なぼかし処理下でのカラーバンディング(階調飛び)を解消します。
Draw a masked 1px ring with a lit corner via `::before`, and dither away gradient **banding**
リキッドガラス(2026年進化基準)ではSVGフィルターを用いた屈折を実装します。動的なfeTurbulenceでfeDisplacementMapを駆動し、backdrop-filterによるすりガラス面の上に重ね合わせます。
<feDisplacementMap in="SourceGraphic" in2="n" scale="22" xChannelSelector="R" yChannelSelector="G"/>
アクセシビリティとパフォーマンスは厳格な制約です。prefers-reduced-transparencyではソリッドパネルへフォールバックし、prefers-reduced-motionでは屈折を停止し、backdrop-filter非対応環境では@supportsで対応し、テキストのコントラスト比は≥4.5:1を確保します。
**Contrast over busy backgrounds**: translucent panels over photos can drop text below WCAG.
2コア機能
3外部依存関係
| Kind | Dependency / Endpoint |
|---|---|
| api | CSS backdrop-filter(Safari 需 -webkit- 前缀)与 prefers-reduced-transparency |
| api | SVG 滤镜原语 feTurbulence / feDisplacementMap(含 SMIL animate 驱动 baseFrequency) |
| network | 无第三方库、无 CDN 依赖(纯 CSS 加内联 SVG;references 的噪点是 data: URI 内联,非网络请求) |
| cli | npx / Playwright(宿主侧截图工具;SKILL.md 在 verify 段示范) |
| cli | scripts/seek-shot.sh + scripts/contact-sheet.sh + ffmpeg(仓库根打包助手,被 Packaged helper 段点名) |
4推奨統制措置と判定根拠
- 本地工作目录: ファイル読み書きと成果物出力: 本スキルディレクトリ内へのディスク書き込みはゼロ。納品物はエージェントが出力する自己完結型の.htmlファイル1点(背景画像+ガラスパネル+インラインSVGフィルター)。
5二重目の独立検証
- [ok] backdrop-filter 只能模糊身后内容这一关键前提是否自洽 — SKILL.md 核心段与 references 第 1 节都写明该语义,并据此推出演示必须压在真实杂物背景上;验收第 1 条与之对齐(glass overlaps a real busy backdrop, not a flat color)。
- [unlocatable] prefers-reduced-transparency 的可验证性(正文把它列为必过项) — SKILL.md 要求加载 reduced-transparency 并确认实心兜底可读,但给的建议含糊(Playwright --color-scheme-style flags, or a ?reduced=1 query)——Playwright 并无该媒体特性的专用开关,?reduced=1 需自行在页面实现。全文未给可用的确定性取证命令,故该验收项在源码内不可定位为可行步骤(对比 accessible-animation 用的是真实存在的 --reduced-motion=reduce)。
- [ok] 液态玻璃滤镜的性能告诫是否与实现一致 — 正文说明 filter(不是 backdrop-filter)作用于元素自身像素,需叠在霜面之上;references 第 5 节同样表述,并给 baseFrequency/scale/dur 的调参表与只用一块 hero 的限制,前后一致。
- [discrepancy] Packaged helper 的路径基准 — SKILL.md 写 scripts/seek-shot.sh anim.html 0 1.5 3,但 scripts/ 在仓库根而非本 skill 目录,单装形态下相对路径不成立。
6結論
282f840f1bf8a217…