refactor(fe): 结构去重 + 修 FAB 遮挡内容(视觉等价,不含设计调整)

app.wxss 是从 preview.html 迁移来的,带来一批小程序里根本不生效的
标签选择器(wxml 没有 h2/p/b/span):.page-title h2、.task-text b、
.stat b、.article-card p、.record-row span、.poster h3。各页当初都
自建了替身 class,于是 .pt-h2 在 5 个文件里逐字重复、.ac-b 3 处、
.tt-b 2 处、page{height:100vh} 更是 9 个文件一模一样抄了 9 遍。

- 删掉 6 组死规则,替身 class 收进 app.wxss
- 页面骨架 page{} / .page-scroll / .page-body 统一到 app.wxss
- learn.wxss 清空后删除(该页已无私有样式)
- 左右留白统一 40rpx(home/article 原本是 36rpx)

顺带修一个真 bug:FAB 固定在 bottom:190rpx、高 116rpx,上沿距底
306rpx,但 7 个挂 FAB 的页面只留了 210rpx(learn/profile 更只有
60rpx)底部留白,最后一张卡片一直被它压住。改为 --pad-b-fab 330rpx。

本次不含任何色值/字号/圆角改动,设计调整在下一步。

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
Blizzard
2026-07-29 10:28:48 +08:00
parent b4a4a4b3c0
commit b99099759f
11 changed files with 29 additions and 71 deletions
-10
View File
@@ -1,5 +1,3 @@
.page-body{padding:8rpx 36rpx calc(210rpx + env(safe-area-inset-bottom))}
.top-row{display:flex;align-items:center;justify-content:space-between;margin:4rpx 0 28rpx}
.greet-h2{font-size:44rpx;line-height:1.15;letter-spacing:-.8rpx;font-weight:800}
.greet-p{font-size:26rpx;color:var(--muted);margin-top:10rpx}
@@ -39,9 +37,6 @@
.day.has-dot::after{content:"";display:block;width:10rpx;height:10rpx;border-radius:50%;background:var(--green);margin:8rpx auto 0}
.task-empty{padding:36rpx 8rpx;text-align:center;color:var(--muted);font-size:26rpx}
.tt-b{font-size:28rpx;font-weight:700}
.tt-p{font-size:24rpx;color:var(--muted);margin-top:8rpx;line-height:1.45}
.quick-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18rpx}
.quick{
background:#FBFAF8;border-radius:32rpx;min-height:132rpx;
@@ -53,9 +48,4 @@
.ai-banner{background:linear-gradient(135deg,#F2FAF6,#FFFFFF)}
.ai-text{color:#59635D;font-size:28rpx;line-height:1.6}
.ac-b{font-size:30rpx;font-weight:700}
.ac-p{color:var(--muted);font-size:24rpx;line-height:1.45;margin-top:10rpx}
/* 页面不自身滚动,改由 page-scroll 承载滚动(隐藏滚动条)*/
page{height:100vh;overflow:hidden;display:flex;flex-direction:column}
.page-scroll{flex:1;min-height:0}