舷窗 - 沉浸式体验风景

我始终觉得,技术不该只用于解决问题,它也可以承载情绪,甚至是一种逃逸。Porthole 就是我在一次飞行旅途中,一个突如其来的念头变成现实的产物。
那次坐在靠窗的位置,飞机穿过云层,阳光沿着舷窗边缘滑动。我看着窗外的天空,突然意识到:真正打动我的,不只是风景,而是那种「可以安静看着天」的自在感。没有信息、没有打扰,只有片刻的沉静。我开始想,如果能在网页上打开这样一扇窗,会不会也能带来类似的体验?
于是我动手做了它。
项目动机
Porthole 并不是一个用来解决问题的工具。它更像是一种数字化的「留白」。在习惯了功能至上、效率驱动的开发语境里,我反而想尝试创造一个什么都不要求你做的界面。
它没有任务、没有目标、没有任何形式的「参与感」。它只是存在,像一扇窗,让你在想看的时候看一眼,让思绪得以轻轻地飘出去。
网页是我最熟悉的表达方式,我便用它造出一片属于浏览器的天空。
构建思路
我尽量还原飞行时从舷窗望出去的感受。圆形的窗口边缘使用模糊和光影混合处理,模拟玻璃厚度和光线折射带来的真实感。技术上,我没有追求复杂,而是刻意简化每个细节,确保它不会喧宾夺主。
动画上,我用纯 CSS 的 transition 和 transform 来处理进出场的过渡,让页面的变化不那么「突兀」。配合 CSS Grid 和 Flexbox 打理响应式布局,用媒体查询确保在任意尺寸设备上都有舒适的展示效果。
为了还原真实舷窗的那点「光的厚度」,我动用了 CSS 的混合模式与滤镜,算是一次轻量但富有表现力的实验。
整个项目保持了极简的技术栈:纯 HTML 构建页面结构,CSS 处理所有样式和动画效果,没有引入任何框架或构建工具。
为了不打断体验,视频采用了 HTML5 的 lazy loading 属性进行按需加载,保持页面的轻量与流畅。
这个项目对我意味着什么
Porthole 是我写给自己的一个小小提醒:哪怕是在最数字化的环境里,我们也可以为自己保留一块不被打扰的空间。
它不喧哗、不主张,也不试图抓住用户注意力。它就在那里,在你想看天的时候,给你一扇窗。
项目链接
- 在线体验:https://porthole.leoku.dev
- GitHub 地址:https://github.com/Codennnn/Porthole