feat(v1.2.5): 优化首页滚动顺滑性、恢复整屏吸附并提升 Halo 要求至 2.27

- 首页固定模糊半径只改 opacity;Hero 离屏停绘;Navbar 滚动状态去重
- 恢复首屏整屏吸附:仅接管 0 ↔ 内容区顶部边界,scrollend + 600ms 兜底解锁
- CSS scroll-snap proximity 实际不吸附(缺页面顶部吸附点),已移除避免与 scrollTo 冲突
- 版本 1.2.5,requires >=2.27.0;源码仓库与问题反馈改为 git.nxxy335.top
- 更新 README / FAQ / 开发指南 / 更新日志,补充性能与发版说明
This commit is contained in:
nxxy335 committed 2026-11-10 21:22:37 +08:00
1 parent 6c612911b3
commit c0ad7331d4
19 files changed
+272 -128

No files matched your search

+25
View File
@@ -1,5 +1,30 @@
# 更新日志
## v1.2.5
### 兼容性与元数据
- ⬆️ Halo 版本要求提升至 **2.27.0+**(页面布局契约、微信读书页面依赖 2.27 的能力)
- 🔗 源码仓库与问题反馈地址统一为 `https://git.nxxy335.top/nxxy335/halo-theme-WarmIsland`
- 📚 完善安装、开发、FAQ 文档,修正过时的技术栈与构建打包说明
### 性能优化
- 🚀 **首页滚动顺滑性**:移除逐帧改写全屏 `backdrop-filter` 模糊半径的逻辑。
旧实现让 Chromium 每个滚动帧都重做一次全屏背景采样 + 高斯模糊,是首页掉帧主因;
现改为固定模糊半径 + 只调整 `opacity`(合成层操作),并缓存进度值避免重复写 DOM
- 🚀 **首屏离屏即停**:滚过首屏后 Hero 已被不透明内容区完全盖住,此时隐藏 Hero
并暂停光球动画,长页面后半段不再有额外绘制
- 🚀 **首屏整屏吸附回归(顺滑版)**:v1.2.5 初版改用 CSS `scroll-snap: y proximity` 后吸附
实际失效——内容区顶部是唯一吸附点、页面顶部 `0` 没有吸附点,`proximity` 几乎不触发;
换成 `mandatory` 又会把长内容反复拉回内容区顶部。现改为**边界吸附**:只在
`0 ↔ 内容区顶部` 接管一次滚轮 / 触摸,进入内容区后完全交给原生滚动惯性;解锁用
`scrollend` + 600ms 兜底(原为固定 800ms 输入锁),已在目标位置时不再接管
- 🚀 **导航栏滚动状态去重**:只在状态真正变化时写 class,不再每帧触发样式重算
- ♿ 补充 `prefers-reduced-motion` 支持:减少动态效果时关闭平滑滚动与光球 / 指示箭头动画,
吸附改为即时定位(不再关闭吸附)
- 🖼️ 首页文章列表继续使用 `content-visibility: auto` 跳过视口外渲染,图片保持懒加载
## v1.2.4
### 问题修复