“就为了一个输入框,把整个组件库搬进来?
”——后台群里这句话,直接戳中痛点。
作者原本只想让登录页的账号框好看点,结果一眼相中 Vexip UI的钻石边框+呼吸光晕。
可项目骨架是 AI 生成的 Vue3 + Tailwind,Element Plus都没装,再塞个新库?
包体积直接+120k,划不来。
干脆自己撸。
思路简单粗暴:把 Vexip 的动效拆成三帧——
1. 默认:灰 300 的 1px 实线,像没睡醒;
2. hover:灰 400 加 0.5px 内阴影,微微抬眉;
3. focus:蓝 500 的 3px ring,再叠 9px 柔光,像激光笔点过。
Tailwind 里现成的工具类就能拼出来,不用写一行自定义 CSS:
```html
<input
class="border border-gray-300 rounded-md px-3 py-2
hover:border-gray-400 hover:shadow-sm
focus:outline-none focus:ring-3 focus:ring-blue-500/50
focus:shadow-[0_0_9px_rgba(66,153,225,0.5)]
transition-all duration-300 ease-in-out"
/>
```
复制粘贴,select、textarea 直接套壳,连颜色变量都不用改。
作者顺手把 ring 的透明度从 50% 调到 40%,光晕更克制;又把过渡时间从200ms 拉到 300ms,键盘 Tab 切换时没那么闪。
这些小动作,AI 给不出,全凭肉眼调。
群里有人问:“IE 咋办?
”——作者直接甩链接:Tailwind 3.4 起不再打 IE 补丁,老项目绕行。
一句话堵住所有“兼容怪”。
整套样式打包成 snippet,扔进 VSCode用户片段,敲“vinput”自动补全。
后台十个表单页,一下午全部换装。
省掉一个组件库,包体积少 0.12M,首屏快 0.3秒,老板在监控大屏上没再皱眉。
作者最后补刀:“下回看到炫酷效果,先别急着 npm install,搜搜 Tailwind有没有现成类,再不行就抄。
省下来的体积,够放三张高清背景图。
”
