一、起因
二、确定方案
三、转盘动画
conic-gradient(圆锥渐变):根据城市数量自动生成彩色扇形,每个城市占一个角度 transform: rotate():给转盘加旋转动画,配合 transition 做缓入缓出 算角度:随机选一个城市,算它在转盘上的位置,加上至少转 5 圈,结束。
四、城市数据
{name: "成都",province: "四川",type: "domestic",color: "#FF6B6B",attractions: ["大熊猫繁育研究基地", "武侯祠", "锦里古街", "宽窄巷子", "都江堰"],foods: ["火锅", "串串香", "担担面", "龙抄手", "夫妻肺片"],description: "天府之国,一座来了就不想走的城市……"}
五、UI 问题
转盘:每个扇区有自己的颜色,中心有脉冲动画,看着就很想转一下 弹窗:选中城市后,半透明遮罩 + 背景模糊,城市图片当 banner,信息一层一层叠上去 卡片:圆角 + 图片遮罩 + 阴影,滑动起来很舒服 分类切换:三个 Tab 带数字角标,切换的时候整个转盘的颜色会跟着变
六、城市展示
七、总结
快速出方案和技术选型,省去了大量前期调研时间 生成重复性高的数据(140 个城市的信息,手动写真的会疯) CSS 样式和动画效果,写出来比我好看一百倍 项目工程化配置,ESLint、Husky 这些东西配置起来又烦又容易出错
第一次给的代码偶尔有 bug,需要你跑一跑才能发现 部分城市数据有小错误,还是得人工校验 复杂的交互细节需要你反复描述,它才能理解你要的效果
夜雨聆风