仅使用 CSS 的最小模糊图像占位符

主要观点:介绍一种无需杂乱标记即可生成模糊图像占位符(LQIPs)的 CSS 技术,只需单个自定义属性--lqip。对比多种 LQIP 实现方法,如低分辨率 WebP、优化的 SVG 形状放置、直接应用离散余弦变换等,强调纯 CSS 解决方案的优势与不足,提出自己的编码和解码方式,包括用单个 CSS 整数编码图像信息、将其解码为 CSS 颜色并渲染为 LQIP 图像,还探讨了径向梯度的平滑插值以模拟真实图像的效果,以及考虑的其他替代方案。
关键信息:

  • 示例代码img src="…" style="--lqip:192900"可生成 LQIP 图像。
  • 介绍多种 LQIP 实现方法及其优缺点。
  • 用单个 CSS 整数编码图像信息,如用 20 位编码 LQIP 图像的简化版本。
  • 解码代码[style*="--lqip:"] {...}将编码值解码为 CSS 颜色并渲染。
  • 用多个径向梯度渲染 LQIP 图像,通过二次插值实现平滑效果。
  • 考虑的替代方案包括四色方案、单纯色方案、用 HTML 属性替代 CSS 自定义属性等。
    重要细节:
  • 自定义属性--lqip的取值范围在[-999999, 999999],约有 20 位信息可用于编码。
  • 编码方式包括用 Oklab 颜色空间编码基色,用 12 位编码 6 个灰度组件。
  • 渲染 LQIP 图像时使用多个径向梯度,通过调整位置、半径和透明度实现。
  • 径向梯度的平滑插值通过添加更多点基于二次公式实现。
  • 考虑的替代方案如四色方案因混合困难而放弃,单纯色方案简单有效,HTML 属性替代方案等待标准普及。
阅读 8
0 条评论