本文讲解如何通过 css 正确布局页面中的多分类区块(如 popular、fantasy),使其垂直依次排列、不随键盘弹出而上移,并支持内部独立滚动,同时保持底部导航区域固定不动。
在移动端 Web 开发中,常见需求是:多个分类区块(如
❌ 错误做法(如答案中提到的 position: fixed 直接应用于 .cards):
header section .cards {
position: fixed; /* ❌ 危险!会导致所有 .cards 重叠在视口同一位置,失去垂直流式布局 */
}该写法会破坏文档流,使所有 .cards 脱离原有位置、层叠覆盖,完全违背“一上一下”的结构需求。
✅ 正确解决方案需分三层控制:
HTML 中连续的
header {
display: block; /* 确保为块级容器 */
padding-bottom: 60px; /* 为底部固定导航预留空间(如 TabBar)*/
}对每个 .cards 容器启用 overflow-x: auto,并禁用换行以实现单行滚动:
section {
margin: 16px 0;
}
section h4 {
margin: 0 0 8px 12px;
font-weight: 600;
}
section .cards {
display: flex;
overflow-x: auto;
scroll-behavior: smooth;
padding: 0 12px;
gap: 12px;
/* 隐藏滚动条(可选) */
-ms-overflow-style: none;
scrollbar-width: none;
}
section .cards::-webkit-scrollbar {
display: none;
}
/* 卡片示例样式 */
.cards > * {
flex: 0 0 auto;
width: 120px;
height: 160px;
background: #f5f5f5;
border-radius: 8px;
}若需“Category fixed at the bottom”,应在
底部单独放置一个固定定位的导航栏(不要放在.bottom-nav {
position: fixed;
bottom: 0;
left: 0;
right: 0;
background: white;
box-shadow: 0 -2px 10px rgba(0,0,0,0.08);
display: flex;
justify-content: space-around;
padding: 12p
x 0;
z-index: 1000;
}综上,正确思路是:用文档流保证垂直顺序,用 flex + overflow-x 实现横向滚动,用独立 fixed 导航实现底部固定——三者解耦,各司其职。
# css
# html
# android
# go
# html5
# ios
# 排列
# overflow
# 固定定位
# auto
# 堆
# 事件
# position
# viewport
# flex
# webview
# 弹出
# 文档
# 放在
# 顶起
# 这是
# 流式
# 多个
# 各司其职
# 不动
# 使其
相关栏目:
【
Google疑问12 】
【
Facebook疑问10 】
【
网络优化76771 】
【
技术知识130152 】
【
IDC云计算60162 】
【
营销推广131313 】
【
AI优化88182 】
【
百度推广37138 】
【
网站推荐60173 】
【
精选阅读31334 】
相关推荐:
如何使用Golang管理跨项目依赖_Golang多模块项目依赖实践
php串口通信波特率怎么选_根据硬件手册设置正确波特率【方法】
Win11怎么设置右键刷新选项_Windows11显示更多选项技巧
电脑无法识别U盘怎么办 Windows磁盘管理与驱动更新修复识别问题【解决】
c# 在ASP.NET Core中管理和取消后台任务
Win11如何卸载OneDrive_Win11卸载OneDrive方法【教程】
Win11怎么设置麦克风权限_允许应用访问Win11麦克风【详解】
Python邮件系统自动化教程_批量发送解析与模板应用
Win11如何添加/删除输入法 Win11切换中英文输入法快捷键【设置】
Win11怎么禁用键盘自带键盘_Win11笔记本禁用内置键盘方法【教程】
Python解释执行模型_字节码流程说明【指导】
如何提升Golang程序I/O性能_Golang I/O密集型程序优化示例
Win11怎么开启空间音效_Windows11耳机杜比音效与Sonic设置
php8.4匿名类怎么用_php8.4匿名类创建与使用场景【介绍】
使用类变量定义字符串常量时的类型安全最佳实践
MAC如何隐藏文件夹及文件_MAC终端命令隐藏与第三方工具加密【教程】
Win11搜索栏无法输入_解决Win11开始菜单搜索没反应问题【技巧】
如何使用Golang实现基本类型比较_Golang比较操作符使用方法
Win11怎么更改计算机名_Windows11系统信息重命名设备教程
Mac电脑如何恢复出厂设置_Mac抹掉数据并重装系统【安全指南】
Win11怎么更改鼠标指针_Windows 11自定义鼠标样式与大小【美化】
如何使用Golang实现路由参数绑定_使用Mux和Request解析路径变量
Windows 10自带杀毒软件在哪_Windows 10打开和使用Windows安全中心
Windows10如何更改任务栏高度_Win10解除锁定调整大小
如何在网页无标准表格标签时高效提取结构化数据
如何用正则表达式精确匹配“start”到“end”之间最多含一个换行符的文本段
PHP 中如何在函数内持久化修改引用变量的指向
php本地部署后session无法保存_session存储路径与权限设置技巧【技巧】
Ajax提交表单PHP怎么接收_处理Ajax发送的表单数据技巧【指南】
MAC如何安装Git版本控制工具_MAC开发环境配置与Xcode插件安装【教程】
C++如何解析JSON数据?(nlohmann/json库示例)
Windows10如何更改桌面图标间距_Win10注册表WindowMetrics修改
Win11文件夹预览图不显示怎么办_Win11缩略图缓存重建修复【教程】
Win10如何卸载Skype_Win10卸载Skype步骤【步骤】
Win11怎么设置任务栏大小_Windows11注册表修改TaskbarSi值
php打包exe如何加密代码_防反编译保护方法【技巧】
如何使用Golang读取日志文件_Golang bufio Scanner日志处理示例
Windows10系统怎么查看设备管理器_Win10快捷键Win+X菜单使用
Win11任务栏怎么调到左边_Win11开始菜单居左设置教程【步骤】
Win11怎么修复系统文件_使用sfc命令修复Win11系统【技巧】
Windows10如何更改鼠标图标_Win10鼠标属性指针浏览
Win11如何设置ipv6 Win11开启IPv6网络协议教程【步骤】
Go 中实现 Python urllib.quote() 功能的等效方法
Mac如何创建和管理多个桌面空间_Mac高效多任务处理【技巧】
Win11此电脑不在桌面上_Windows 11桌面图标设置找回【步骤】
Windows10如何重置此电脑_Windows10电脑重置方法【步骤】
Win11怎么开启游戏工具栏_Windows11 Xbox Game Bar快捷键
Win11怎么设置默认浏览器Chrome_Windows11修改默认网页打开方式
Win11无法识别耳机怎么办_解决Win11插耳机没声音问题【步骤】
c# F# 的 MailboxProcessor 和 C# 的 Actor 模型
2025-12-26
致胜网络推广营销网专注海外推广十年,是谷歌推广.Facebook广告全球合作伙伴,我们精英化的技术团队为企业提供谷歌海外推广+外贸网站建设+网站维护运营+Google SEO优化+社交营销为您提供一站式海外营销服务。