20251115复盘记录:让分页乖乖“坐好”+ 卡片统一渐变描边与圆角

🌈 一、这次到底动了啥?(一句话总结)

分页贴卡片、内容区撑满视窗、卡片统一 4px 圆角 + 1px 渐变描边、去掉原生 number 的上下箭头。


🧩 二、每个改动点都讲讲(轻松但严谨)

🍰 1)分页条乖乖贴在卡片下方

以前分页掉在页面底部,下面留一块空空的白色区域,看起来有点寂寞。

现在:

  • 外层容器:height: calc(100vh - offset)
  • 内容区 flex 占满:flex: 1
  • 分页区用 margin-top: auto 自动推到底

稳了。

分页终于坐在该坐的位置,像是"好!我贴这儿不动了!"的感觉。


🎀 2)数字输入框的原生箭头 → bye~

ElementPlus 的 controls="false" 只是让它不显示组件的按钮,

但浏览器原生 spinner 还是会偷偷冒出来:

于是补了这段"温柔但有效"的隐藏法术:

ruby 复制代码
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

input[type="number"] {
  -moz-appearance: textfield;
}

最终效果:小清爽、小统一、小可爱。


🧊 3)卡片圆角统一为 4px(再配合 overflow: hidden)

所有卡片(包括"创建应用"的那块)统一 4px:

css 复制代码
border-radius: 4px;
overflow: hidden;

背景、图片、阴影都乖乖被圆角裁切,视觉秩序一下子出来了。


🌈 4)卡片依类型显示「1px 渐变描边」

两个不同类型的应用 → 两种独立渐变外边框。

但我没有走"伪元素 + mask"这种偏硬核的路线(lint 还会唠叨我)。

最终方案使用:

css 复制代码
border: 1px solid transparent;
border-image: linear-gradient(...) 1;

🛠 三、关键改的文件

文件名 职责
home.vue 布局、圆角、渐变边框、分页定位全部在这里
index.vue 隐藏数字输入 spinner 的 CSS 补充

非常干净,改动范围不乱跑。


🧠 四、为什么这样实现?(专业但不废话)

✔ calc 配合视口

因为你不想内容区"短一截",也不想无限撑满,把顶部的导航栏扣掉即可。

✔ margin-top: auto

用 flex 让分页乖乖到容器底部,响应式自然又不容易炸。

✔ border-image 赢麻了

  • 不用写 mask
  • 不用 hack
  • 圆角自然生效
  • 浏览器心情更好(你心情也更好)

✔ 隐藏原生 spinner 的原因

为了视觉统一和手感更顺滑,是你看不见但会真切感受到的那种小优化。


🧯 五、踩到的小坑 & 解决办法

❗1)CSS 不小心写进了 <script>

页面直接红到发光 ⚠️

→ 恢复 data() / mounted(),重新整理结构。

❗2)mask 太爱挑浏览器

lint 提示 + 圆角锯齿(哎呦)。

→ 换 border-image,一切回归顺滑。

❗3)ElementPlus 的圆角覆盖你写的圆角

→ 调整选择器权重,仅对当前页面作用,必要时加 !important(谨慎使用)。

相关推荐
程序员猫哥_5 分钟前
HTML 生成网页工具推荐:从手写代码到 AI 自动生成网页的进化路径
前端·人工智能·html
龙飞056 分钟前
Systemd -systemctl - journalctl 速查表:服务管理 + 日志排障
linux·运维·前端·chrome·systemctl·journalctl
我爱加班、、11 分钟前
Websocket能携带token过去后端吗
前端·后端·websocket
AAA阿giao11 分钟前
从零拆解一个 React + TypeScript 的 TodoList:模块化、数据流与工程实践
前端·react.js·ui·typescript·前端框架
杨超越luckly17 分钟前
HTML应用指南:利用GET请求获取中国500强企业名单,揭秘企业增长、分化与转型的新常态
前端·数据库·html·可视化·中国500强
hedley(●'◡'●)1 小时前
基于cesium和vue的大疆司空模仿程序
前端·javascript·vue.js·python·typescript·无人机
qq5_8115175151 小时前
web城乡居民基本医疗信息管理系统信息管理系统源码-SpringBoot后端+Vue前端+MySQL【可直接运行】
前端·vue.js·spring boot
百思可瑞教育1 小时前
构建自己的Vue UI组件库:从设计到发布
前端·javascript·vue.js·ui·百思可瑞教育·北京百思教育
百锦再1 小时前
Vue高阶知识:利用 defineModel 特性开发搜索组件组合
前端·vue.js·学习·flutter·typescript·前端框架
CappuccinoRose1 小时前
JavaScript 学习文档(二)
前端·javascript·学习·数据类型·运算符·箭头函数·变量声明