我的个人网站看起来有点像一台旧电脑。

紫蓝点阵背景、重叠窗口、标题栏、桌面图标和硬边阴影。文章、项目和关于我不是三张规整卡片,而像同时摊在桌面上的几个窗口。

在宽屏上,我很喜欢这种感觉。它不像套了一层主题的通用博客,更像一张真的属于自己的工作台。

然后把浏览器缩到手机宽度,问题马上就来了。

如果坚持把整套桌面按比例压小,得到的不会是一个有复古味道的移动页面,只会是一台按钮很小、窗口互相挡住、手指不知道该往哪放的迷你电脑。

这让我慢慢想清楚,响应式设计不是负责把桌面塞进手机。它真正要做的,是决定哪些东西构成了风格,哪些只是某种屏幕上的交互机制。

我想保留的是气质,不是每一个桌面动作

一像素轮廓、直角窗口、条纹标题栏、像素图标、文稿白与高饱和背景,这些视觉元素在不同尺寸上仍然能被识别。等宽编号和状态信息,也能继续传达文件与工作台的感觉。

窗口重叠、拖动、双击打开、右键菜单和独立滚动区却不一样。它们属于桌面交互,建立在鼠标、宽屏和相对稳定的视口之上。

手机上继续模拟拖动窗口,会和页面滚动、浏览器手势、文字选择争夺同一根手指。窗口本身也没有足够空间互相错开,最后只剩下「能拖」这个动作,原本的空间感反而没了。

所以窄屏仍然保留标题栏、边框、颜色和文件语义,窗口则放弃重叠,进入稳定的纵向文档流。

桌面感还在,桌面机制不必硬撑。

布局变化以后,内容主次不能跟着失忆

桌面端可以用窗口大小、位置和层级表达主次。最近文章最大,项目窗口稍后,作者信息占据另一块空间。到了移动端,如果只按 DOM 顺序把模块排成一列,原来的产品优先级可能会在响应式转换里悄悄丢掉。

这时需要重新问当前页面最想让读者做什么。首页可能先让人认识作者,再看到最近文章与项目;文章详情则应该把阅读放在最前,作者信息和讨论入口退到不打扰的位置。

正文尤其不能继续承担桌面展示的热闹。中文行宽需要收住,行高要更松,固定侧栏不能挤压文字。装饰仍然可以提醒读者这是同一个博客,但纸面应该比桌面安静。

响应式断点改变的是构图方式,不是内容的重要程度。

触控没有义务假装自己是一只鼠标

经典桌面图标常见的动作是单击选中、双击打开。触屏没有可靠悬停,双击还可能和缩放、浏览器手势冲突。为了复刻旧系统,让用户在手机上学习一套不自然的操作,得到的只是表面相似。

同一个入口可以保留「打开窗口」的语义,输入方式则尊重设备。鼠标环境继续支持单击选择与双击打开,触控和键盘使用一次动作直接打开。

右键菜单也只在真正的桌面空白区域接管。文章正文、链接、表单和窗口内部保留浏览器原生菜单,复制、检查和辅助功能不能为了主题效果一起消失。

怀旧设计最容易犯的错,是把过去的限制也当成风格资产。真正值得留下的应该是识别感,不是让现代设备重新变难用。

窗口会动还不够,地址和焦点也得知道发生了什么

多窗口首页不只是动画。点击「项目」以后,窗口置顶,工具栏状态变化,URL hash 也应该同步。这样刷新、分享和浏览器前进后退才仍然有意义。

关闭窗口时要决定焦点回到哪里;从桌面图标重新打开时,要恢复可见性并置顶。键盘用户需要到达同样状态,系统开启减少动态效果时,动画也要收敛。

如果窗口只在视觉上移动,地址、焦点和历史记录都没有跟上,它就更像一段演示,而不是可以分享和返回的界面。

这些细节不会让截图更漂亮,却决定了风格化交互能不能真的被使用。

皮肤属于桌面环境,正文不必跟着换人格

Classic、Aqua 和 Midnight 改变桌面背景与环境气氛,不改变文章纸面、正文颜色和内容层级。主题可以很有个性,长文不需要因此重新承担一遍对比度与可读性风险。

移动端甚至可以不展示换肤入口。狭窄屏幕几乎看不到桌面环境,保留一个控制只会挤占导航。桌面端拥有的功能,不必在手机上都找到一个缩小版位置。

这背后是一套转换规则。什么时候允许重叠,什么时候进入文档流;什么是环境色,什么是内容色;哪些交互只对鼠标开放;文章列在什么宽度停下来。

如果设计系统只保存一张桌面截图,到了其他尺寸就只能临场修补。规则才能让它变化以后仍然像自己。

我还是希望这个博客像一台属于我的工作台。

但它更应该是一个能让人读文章、看项目、认识作者的网站。保留风格不是让每个像素拒绝变化,而是知道拿走哪些东西以后,它依然是它。