Joomla 4 Cassiopeia子主题两行水平菜单实现方案咨询
Joomla 4 Cassiopeia子主题实现两行水平菜单的解决方案
方案一:CSS强制导航自动换行(推荐,避免双汉堡问题)
不需要拆分菜单模块,直接修改子主题CSS就能解决Bootstrap nav默认不换行的问题:
- 打开子主题的自定义CSS文件(路径:
templates/[你的Cassiopeia子主题]/css/user.css) - 添加以下代码:
/* 让导航容器支持自动换行 */ .navbar-nav { flex-wrap: wrap; row-gap: 0.6rem; /* 可选:调整两行菜单的垂直间距 */ } /* 可选:调整菜单项水平间距,优化布局 */ .navbar-nav .nav-link { margin-right: 1.2rem; }
- 保存文件后,清除Joomla系统缓存,刷新页面就能看到菜单自动换行,小屏幕下只会显示一个汉堡菜单。
方案二:修复双菜单模块的小屏幕汉堡问题
如果坚持使用两个独立菜单模块,可通过CSS合并小屏幕的汉堡触发逻辑:
- 给两个菜单模块分别设置自定义CSS类(在模块编辑页的「高级」选项中添加,比如第一个加
menu-top-row,第二个加menu-bottom-row) - 在
user.css中添加媒体查询代码:
@media (max-width: 991px) { /* 隐藏第二个菜单的汉堡按钮 */ .menu-bottom-row .navbar-toggler { display: none; } /* 让第二个菜单的内容在小屏幕下直接展开,合并到导航区域 */ .menu-bottom-row .navbar-collapse { display: block !important; height: auto !important; border-top: 1px solid #eee; /* 可选:添加分隔线区分两行 */ margin-top: 0.5rem; } }
- 清除缓存后,小屏幕下只会显示第一个菜单的汉堡按钮,两个菜单的内容会合并展示。
内容的提问来源于stack exchange,提问作者Plamen
相关产品推荐
相关产品推荐

