.page { min-height: 100vh; background: var(--bg-grad); } /* 分类横列吸顶:top = 状态栏高度 + 导航栏 88rpx,精确贴在 navbar 下方,不同机型不串位 */ .filterbar { position: sticky; z-index: 40; white-space: nowrap; padding: 8rpx 0 4rpx; background: var(--bg-grad); } .filterbar chip { display: inline-block; margin-right: 16rpx; } .filterbar__spacer { display: inline-block; width: 4rpx; } /* 加载 / 空态占位:横列区域常驻,避免加载期间整块消失 */ .filterbar__loading { font-size: 24rpx; padding: 22rpx 4rpx 14rpx; background: var(--bg-grad); } .count { font-size: 24rpx; margin: 20rpx 0 8rpx; } .grid { display: flex; flex-wrap: wrap; gap: 18rpx; margin-top: 12rpx; } .grid__item { width: calc((100% - 18rpx) / 2); } .empty { color: var(--text-3); font-size: 26rpx; text-align: center; padding: 80rpx 0; } /* 触底加载更多状态条 */ .loadmore { display: flex; justify-content: center; padding: 36rpx 0 12rpx; } .loadmore__loading { display: flex; align-items: center; gap: 12rpx; color: var(--text-3); font-size: 26rpx; } .spinner { width: 32rpx; height: 32rpx; border-radius: 50%; border: 4rpx solid var(--line); border-top-color: var(--accent); animation: spin 0.8s linear infinite; } .loadmore__end, .loadmore__hint { font-size: 26rpx; } @keyframes spin { to { transform: rotate(360deg); } }