主要观点:WebGL 很重要,许多设计奖网站都在利用canvas
的力量。CSS 中mix-blend-mode
获得广泛支持后,可实现多种常见 shading 技术,无需引入 JS 依赖就能构建高质量效果。
关键信息:
- WebGL 中 shader 是复杂 GLSL 脚本,CSS 中 shader 基本是有额外背景图像层的图像,可通过梯度、掩码等控制层间交互。
- 介绍了多种 blend mode,如
multiply
、screen
、color-dodge
、color-burn
等及其效果。 - 通过嵌套
div
层和应用不同mix-blend-mode
实现复杂的合成效果,如模拟日光、极光、光漏、全息等。
重要细节: - 示例中通过设置
.specular
的background-attachment: fixed
实现滚动时渐变固定,模拟视角变化。 - 用暗图像作为掩码(specular map)控制图像中光的照射区域,如通过
mix-blend-mode: multiply
和mix-blend-mode: color-dodge
等实现不同效果。 - 展示了不同效果的示例及相关 HTML 和 CSS 代码,如极光效果通过重复渐变背景并调整
background-size-y
实现,光漏效果使用全彩色掩码图像等。同时提到在不同浏览器中使用该技术可能存在性能和渲染问题,如 Safari 中性能下降,Chrome 和 Firefox 在应用 CSS 变换时可能出现梯度偏移等情况。最后列出了文章中使用的图像来源。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。