小程序:大厅顶部标题区内容再上移 30rpx

- PageHeader 新增 shift 参数(默认 65rpx,其他页面不变)
- 大厅传 95rpx:标题文本整体上移,底部占位高度不变
This commit is contained in:
Pine
2026-09-08 23:48:58 +08:00
parent d01af629f2
commit b1b86bb80d
2 changed files with 5 additions and 4 deletions
+4 -3
View File
@@ -26,11 +26,12 @@ export function getTopInset() {
/** 统一固定标题区(fixed 不随滚动):像素字 kicker + 彩虹渐变标题 + 像素字注脚。
* back:传入函数=自定义返回;true=自动返回(无上一页则回首页 Tab)。
* shift:内容整体上移量(rpx),默认 65;底部占位高度不受影响。
* 占位高度由 createSelectorQuery 实测 navbar 真实高度,绝无空白/覆盖/重复。 */
export function PageHeader({ no, title, en, sub, back }) {
export function PageHeader({ no, title, en, sub, back, shift = 65 }) {
const { navH, windowWidth } = getTopInset();
// 标题区整体上移 65rpx:从状态栏让位空间中扣除(不是容器偏移,占位实测自动跟随,无空白)
const SHIFT_PX = Math.round((65 * (windowWidth || 375)) / 750);
// 标题区整体上移 shift rpx:从状态栏让位空间中扣除(不是容器偏移,占位实测自动跟随,无空白)
const SHIFT_PX = Math.round((shift * (windowWidth || 375)) / 750);
const topPad = Math.max(navH - SHIFT_PX, 24); // 下限:至少给状态栏留 24px
// 默认占位高度 = 状态栏+导航区+标题内容,避免异步测量前内容被遮挡
const defaultH = navH + 80;
+1 -1
View File
@@ -78,7 +78,7 @@ export default function Hall() {
return (
<View className="hl page-in">
<PageHeader no="HALL" title="大厅" sub="任务 · 人才 · 岗位 · 服务 · 社区" />
<PageHeader no="HALL" title="大厅" sub="任务 · 人才 · 岗位 · 服务 · 社区" shift={95} />
{/* 两级 Tab:位于滚动区之外,完全固定不被下拉 */}
<View className="hl-tabbar">
<View className="hl-tabs">