TT Bigdata TT Bigdata
首页
  • 部署专题

    • 常规安装
    • 一键部署
  • 组件专题

    • 安装指导
    • 实战 Kerberos
    • 魔改分享
  • 版本专题

    • 更新说明
    • BUG临时处理
  • 实验室

    • VIEW插件
    • JIRA速查
  • Ambari-Env

    • 环境准备
    • 开始使用
  • 二开指导

    • 前端开发
    • 后端开发
  • 组件编译

    • 专区—Ambari
    • 专区—Bigtop-官方组件
    • 专区—Bigtop-扩展组件
  • 报错解决

    • 专区—Ambari
    • 专区—Bigtop
  • 其他技巧

    • APT仓库增量更新
    • Maven镜像加速
    • Gradle镜像加速
    • Bower镜像加速
    • 虚拟环境思路
    • R环境安装+一键安装脚本
    • Ivy配置私有镜像仓库
    • Node.js 多版本共存方案
    • Ambari Web本地启动
    • Npm镜像加速
    • PostgreSQL快速安装
    • Temurin JDK 23快速安装
  • 成神之路

    • 专区—Ambari
    • 专区—Ambari-Metrics
    • 专区—Bigtop
  • 集成案例

    • Redis集成教学
    • Dolphin集成教学
    • Doris集成教学
    • 持续整理...
  • 核心代码

    • 各组件代码
    • 通用代码模板
  • 国产化&其他系统

    • Kylin V10系列
    • Rocky系列
    • Ubuntu系列
  • Grafana监控方案

    • Ambari-Metrics插件
    • Infinity插件
  • 优化增强

    • 组件配置调优
  • 支持&共建

    • 蓝图愿景
    • 合作共建
    • 服务说明
登陆
GitHub (opens new window)

JaneTTR

数据酿造智慧,每一滴都是沉淀!
首页
  • 部署专题

    • 常规安装
    • 一键部署
  • 组件专题

    • 安装指导
    • 实战 Kerberos
    • 魔改分享
  • 版本专题

    • 更新说明
    • BUG临时处理
  • 实验室

    • VIEW插件
    • JIRA速查
  • Ambari-Env

    • 环境准备
    • 开始使用
  • 二开指导

    • 前端开发
    • 后端开发
  • 组件编译

    • 专区—Ambari
    • 专区—Bigtop-官方组件
    • 专区—Bigtop-扩展组件
  • 报错解决

    • 专区—Ambari
    • 专区—Bigtop
  • 其他技巧

    • APT仓库增量更新
    • Maven镜像加速
    • Gradle镜像加速
    • Bower镜像加速
    • 虚拟环境思路
    • R环境安装+一键安装脚本
    • Ivy配置私有镜像仓库
    • Node.js 多版本共存方案
    • Ambari Web本地启动
    • Npm镜像加速
    • PostgreSQL快速安装
    • Temurin JDK 23快速安装
  • 成神之路

    • 专区—Ambari
    • 专区—Ambari-Metrics
    • 专区—Bigtop
  • 集成案例

    • Redis集成教学
    • Dolphin集成教学
    • Doris集成教学
    • 持续整理...
  • 核心代码

    • 各组件代码
    • 通用代码模板
  • 国产化&其他系统

    • Kylin V10系列
    • Rocky系列
    • Ubuntu系列
  • Grafana监控方案

    • Ambari-Metrics插件
    • Infinity插件
  • 优化增强

    • 组件配置调优
  • 支持&共建

    • 蓝图愿景
    • 合作共建
    • 服务说明
登陆
GitHub (opens new window)
  • 版本-v2.2.2-以前

    • [22212]Ambari 3.0.0 左侧服务菜单滚动条缺失修复
      • 一、问题现象与影响范围
      • 二、修复效果预览
      • 三、定位思路:F12 锁定 side-nav-menu
        • 1、元素定位
        • 2、现象确认
      • 四、源码修复方案:追加 Less 并重新编译
      • 五、生产环境修复:直接修改 app.css
        • 1、编辑目标文件
        • 2、插入 CSS 内容
        • 3、生效验证
    • [22212]解决办法
    • [22211]Atlas 缺失 __AtlasUserProfile
    • [22211]解决办法
    • [22210]Atlas Hook 无权限访问 Kafka Topic
    • [22210]解决办法
    • [22209]Ranger Kafka Lookup 缺少 JAAS 配置
    • [22209]解决办法
    • [22208]Atlas Hook 消费 Kafka 报错
    • [22208]解决办法
    • [22207]Hue 内访问 SparkSql 失败
    • [22207]解决办法
    • [22206]Ranger 调用 Knox Topologies 失败
    • [22206]解决办法
    • [22205]Ranger Admin 轮刷ZK 缺失 JAAS
    • [22205]解决办法
    • [22204]KNOX policymgr-ssl 启动告警
    • [22204]解决办法
    • [22203]Hue 服务启动后秒退
    • [22203]解决办法
    • [22202]Hue 启动失败: hadoop 用户不存在
    • [22202]解决办法
    • [22201]Hive 使用 Tez 引擎插入数据失败
    • [22201]解决办法
  • 版本-v2.1.0-以前

  • BUG临时处理
  • 版本-v2.2.2-以前
JaneTTR
2026-01-28
目录

[22212]Ambari 3.0.0 左侧服务菜单滚动条缺失修复

# 一、问题现象与影响范围

Ambari 3.0.0 环境中,当组件安装数量增多时,左侧 Service 菜单区域出现“列表超出但无法滚动”的现象,导致部分服务入口被遮挡,无法从导航栏直接访问。

image-20260128150746959

影响点

  • 服务数量一多,左侧菜单显示不全
  • 菜单无法滚动,用户只能靠缩放/折叠/刷新绕行
  • 对“运维巡检 / 日常操作 / 新服务验证”影响明显

# 二、修复效果预览

先看改完后的效果:左侧菜单可正常滚动,同时滚动条默认“弱化显示”,鼠标移入时再高亮显示,视觉更干净。

警告

此修改基于 Ambari 3.0.0 源码。若使用 ttr 2.2.3 及以上版本,该问题已修复,无需修改。

image-20260128151533881

结论先行

核心目标只有两个:

  • 1)让 ul.side-nav-menu 真正具备可滚动容器能力(overflow-y: auto)
  • 2)覆盖掉主题里把滚动条隐藏掉的规则(display:none),并补齐 hover 交互

# 三、定位思路:F12 锁定 side-nav-menu

# 1、元素定位

在页面使用 F12,直接定位左侧菜单节点,关键类名是:

  • side-nav-menu

image-20260128152623110

# 2、现象确认

一边搜索样式、一边做临时覆盖测试,可以观察到滚动条相关样式被隐藏,display 命中了 none,因此滚动条无法出现。

关键判断

不是“没写 overflow”,而是“写了也被隐藏/布局干扰”:

  • 一类是滚动条伪元素被 display:none
  • 另一类是容器高度/定位导致滚动区域没有形成可滚动盒子

# 四、源码修复方案:追加 Less 并重新编译


处理办法可参考

22212:源码解决办法


# 五、生产环境修复:直接修改 app.css

源码修复适合长期维护;生产环境有时只需要“先止血”,可以直接改 Ambari Server Web 目录下的 CSS。

image-20260128153649265

# 1、编辑目标文件

  • /usr/lib/ambari-server/web/stylesheets/app.css

请不要乱插入

需要把规则加到合适的位置(这里定位到 5609 行是有效方式)。随意插入可能被后续同名选择器覆盖,表现就是“看起来加了但不生效”。

# 2、插入 CSS 内容

/* =====================================================================
 * TTBigdata 优化:Side Nav 菜单滚动与滚动条交互优化
 * - 解决服务过多时左侧菜单无法完整显示的问题
 * - 默认隐藏滚动条,鼠标悬停时显示(更干净的 UI)
 * ===================================================================== */
#side-nav.navigation-bar-fit-height .navigation-bar-container {
  position: relative;
  height: 100vh;
  overflow: hidden;
}
#side-nav.navigation-bar-fit-height ul.side-nav-menu {
  position: absolute;
  top: 55px;
  bottom: 45px;
  left: 0;
  right: 0;
  overflow-y: auto;
  overflow-x: hidden;
  display: block !important;
}
#side-nav.navigation-bar-fit-height ul.side-nav-menu > li {
  display: block;
  width: 100%;
}
/* TTBigdata:滚动条默认“不可见”,hover 时显示(WebKit 系) */
#side-nav.navigation-bar-fit-height ul.side-nav-menu::-webkit-scrollbar {
  width: 8px !important;
  display: block !important;
}
#side-nav.navigation-bar-fit-height ul.side-nav-menu::-webkit-scrollbar-thumb {
  background-color: transparent !important;
  border-radius: 8px;
}
#side-nav.navigation-bar-fit-height ul.side-nav-menu:hover::-webkit-scrollbar-thumb {
  background-color: rgba(255, 255, 255, 0.28) !important;
}
/* TTBigdata:Firefox 兼容(hover 时改变颜色,无法完全控制显示/隐藏) */
#side-nav.navigation-bar-fit-height ul.side-nav-menu {
  scrollbar-width: thin;
  scrollbar-color: transparent transparent;
}
#side-nav.navigation-bar-fit-height ul.side-nav-menu:hover {
  scrollbar-color: rgba(255, 255, 255, 0.28) transparent;
}

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45

插入效果如下(以实际文件位置为准):

image-20260128153743438

# 3、生效验证

验证清单

  • 刷新页面后左侧菜单可滚动
  • 服务数量增多时不再“截断”
  • 鼠标移入滚动区域,滚动条 thumb 可见(Chrome/Edge/Safari)
  • Firefox 下滚动条样式变为 thin,hover 时颜色增强
#Ambari#Ambari Web#Ambari 3.0.0#side-nav-menu#CSS#Less#滚动条#TTBigdata
[22212]解决办法

[22212]解决办法→

最近更新
01
Ambari-Web-3.0.0本地启动与二开环境搭建
01-28
02
左侧 Service 数量控制原理与实现
01-28
03
[22212]解决办法
01-28
更多文章>
Theme by Vdoing | Copyright © 2017-2026 JaneTTR | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式