博客
Tags
# UI6
标签「UI」下的文章
- 不发版地给所有人推一条消息:云端公告的四个决策和一条不能改的 id 约 5 分钟
公告看起来是最简单的功能——一条记录、一个消息条。真正要想清楚的是:它和业务提示抢不抢位置、已读存在哪、什么算读过,以及为什么公告的 id 发出去就不能再动。
- 「用某个 CSS 框架」意味着用它的组件类:一份 beercss 陷阱清单 约 5 分钟
第一版只把框架当变量字典,控件样式全部重写——被一眼看穿「根本没用上」。改成真用之后,又踩到了全局样式框架会悄悄改写你以为自己控制的属性。
- 扩展的入口放哪:从一颗会眨眼的浮动小球,到宿主顶栏里一枚安静的图标 约 5 分钟
入口迭代了三次。最后删掉的那颗小球做得很精致——贴边三档、换位手柄、呼吸动画。问题恰恰在于它看起来太像一个「东西」了。
- 往别人页面里注入 UI 的三条纪律:幂等、别污染文本、别让 observer 自激 约 5 分钟
在一个你控制不了的 SPA 上挂自己的界面,会遇到三类问题。每一类都会以「完全不像是 UI 引起的」的方式暴露出来。
- 把 AI 助手放进 Chrome 原生 Side Panel:瘦客户端、per-tab 绑定、360px 约 5 分钟
从网页内注入面板改成浏览器级侧栏,换来的是不抢页面空间和不被宿主重建冲掉。代价是三个必须先知道的约束。
- 在别人的页面里做自己的 UI:shadow DOM、设计 token,和一个构建期闸门 约 5 分钟
一份 CSS 要同时服务四种消费方:独立页面、被框架接管的设置页、和一堆 shadow DOM 注入组件。它们的取值方式完全不同,而失败方式一个比一个安静。