H5 中 Flex 布局怎么实现底部 TabBar 图标文字上下居中

小伟大大_1554

小伟大大_1554

2026-10-01

523人浏览

原创

flex布局实现h5底部tabbar图文上下居中:tabbar容器设display:flex、align-items:center、固定高度;每个tab项内嵌flex column,justify-content:center、align-items:center;图标定宽高,文字用12–14px、line-height:1、text-align:center。

h5 中 flex 布局怎么实现底部 tabbar 图标文字上下居中

用 Flex 布局实现 H5 底部 TabBar 的图标与文字上下居中,核心是控制垂直方向的对齐逻辑——不是靠 margin 或 line-height 硬调,而是让每个 tab 项内部形成一个独立的垂直弹性容器。

整个 TabBar 容器设为 flex 水平布局 + 垂直居中

底部导航栏本身要作为独立 flex 容器,启用水平排列,并统一控制所有子项的垂直对齐:

  • display: flex,主轴为 row(默认),保证图标文字横向排布
  • align-items: center,让所有 tab 项在 TabBar 高度内垂直居中(关键!)
  • height: 49px 或 60px(按设计稿定),提供明确的高度基准,align-items 才能生效
  • 避免用 padding-top/padding-bottom 模拟居中,易受字体行高干扰

每个 tab 项内部再用 flex 实现图文上下居中

单个 tab(含图标 + 文字)需独立处理内部结构,防止文字因 font-size 或 line-height 偏移:

html-deploy
html-deploy

使用 htmlcode.fun 将 HTML 内容或文件部署到网页,适用于用户要求“部署到网页”“托管此 HTML”“生成此前端...的实时链接”等场景。

下载
  • 给每个 tab 元素(如 <div class="tab-item">)设置 <strong>display: flex</strong> + <strong>flex-direction: column</strong> <li>加 <strong>justify-content: center</strong>,使图标和文字在纵向上居中堆叠</li> <li>加 <strong>align-items: center</strong>,确保图标和文字都水平居中对齐</li> <li>图标用 <code><img> 或 ::before 伪元素,固定宽高(如 24px × 24px),避免拉伸变形
  • 文字字号与行高要配合高度控制

    即使 flex 居中了,过大的 font-size 或未重置 line-height 仍会导致文字视觉下沉:

    • TabBar 高度为 49px 时,文字建议用 12–14px,避免撑开容器
    • 显式设置 line-height: 1 或 line-height: normal,禁用浏览器默认 line-height 放大
    • 文字用 text-align: center 水平居中,配合父级 align-items: center 更稳
    • 可加 vertical-align: middle 到 img 元素,消除 inline 元素基线对齐带来的空隙

    避免常见干扰因素

    有些看似无关的样式会悄悄破坏居中效果:

    • 不要给 tab 项设 margin-top 或 padding-top,它会偏移 flex 的对齐基准
    • 父容器(如 body)若没设 min-height: 100vh,小屏下 TabBar 可能被压扁,align-items 失效
    • 图标若用 background-image,记得设 background-size: contain 和 background-position: center
    • 使用 rem/em 单位时,确认根字体大小未被动态修改(如某些 H5 框架缩放逻辑)

相关专题

更多
python是前端还是后端
python是前端还是后端

Python属于前端也属于后端,其灵活性和丰富的生态系统使得开发人员能够在不同的领域中灵活运用。本专题为大家提供python相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.11

2243

5

前端如何实现即时通讯
前端如何实现即时通讯

实现即时通讯的方法有WebSocket、Long Polling、Server-Sent Events、WebRTC等等。详细介绍:1、WebSocket,它可以在客户端和服务器之间建立持久连接,实现实时的双向通信,前端可以使用 WebSocket API来创建WebSocket连接,并通过发送和接收消息来实现即时通讯;2、Long Polling,是一种模拟实时通信的技术等等。

2023.10.09

4803

6

前端和后端的区别
前端和后端的区别

前端关注的是用户界面的设计和交互,而后端则注重数据处理和逻辑控制。想了解更多前端后端的相关内容,可以阅读本专题下面的文章。

2024.03.19

5930

13

php和前端的关联介绍
php和前端的关联介绍

php既可以作为前端语言,也可以作为后端语言。想了解更多php和前端的相关内容,可以阅读本专题下面的文章。

2024.03.22

5398

10

前端外包工作内容有哪些
前端外包工作内容有哪些

前端外包工作内容包括:1. 网站和应用程序开发;2. 用户界面和交互设计;3. 用户体验优化;4. 设计和视觉开发;5. 跨浏览器兼容性;6. 性能优化;7. 维护和更新;8. 项目管理和沟通。想了解更多前端的相关内容,可以阅读本专题下面的文章。

2024.05.22

763

5

html5动画制作有哪些制作方法
html5动画制作有哪些制作方法

html5动画制作方法有使用CSS3动画、使用JavaScript动画库、使用HTML5 Canvas等。想了解更多html5动画制作方法相关内容,可以阅读本专题下面的文章。

2023.10.23

3711

6

HTML与HTML5的区别
HTML与HTML5的区别

HTML与HTML5的区别:1、html5支持矢量图形,html本身不支持;2、html5中可临时存储数据,html不行;3、html5新增了许多控件;4、html本身不支持音频和视频,html5支持;5、html无法处理不准确的语法,html5能够处理等等。想了解更多HTML与HTML5的相关内容,可以阅读本专题下面的文章。

2024.03.06

6248

6

html5从入门到精通汇总
html5从入门到精通汇总

想系统掌握HTML5开发?本合集精选全网优质学习资源,涵盖免费教程、实战项目、视频课程与权威电子书,从基础语法到高级特性(Canvas、本地存储、响应式布局等)一应俱全,适合零基础小白到进阶开发者,助你高效入门并精通HTML5前端开发。

2025.12.30

774

19

html5新老标签汇总
html5新老标签汇总

HTML5在2026年持续优化网页语义化与交互体验,不仅引入了如<header>、<nav>、<article>、<section>、<aside>、<footer>等结构化标签,还新增了<video>、<audio>、<canvas>、<figure>、<time>、<mark>等增强多媒体与

2025.12.30

654

12

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
GDB 17.2 官方文档集合
GDB 17.2 官方文档集合

共0课时 | 0人学习

Bootstrap 入门安装配置
Bootstrap 入门安装配置

共0课时 | 0人学习

38+ PhpStorm 提示和技巧
38+ PhpStorm 提示和技巧

共1课时 | 219人学习