heimrichhannot/contao-menu-bundle

此包为 Contao CMS 添加了多级菜单模块。

0.5.7 2024-01-30 14:41 UTC

This package is auto-updated.

Last update: 2024-08-30 01:26:15 UTC


README

此包为 Contao CMS 添加了多级菜单模块。

功能

  • 子菜单通过悬停(或触摸设备上的点击)打开
  • 适用于鼠标和基于触摸的设备
  • 包含适用于 bootstrap 4 的预设模板(nav_huh_menu_bs4
  • 定义折叠的级别数量
  • 定义打开和关闭子菜单的延迟

行为

菜单基于 mouseover 事件("悬停")。这种方式使得它适用于鼠标和基于触摸的设备,因为在大多数触摸设备上,mouseover 事件由点击事件触发。

window.navigator.maxTouchPoints 为 0 的设备上,您也可以点击子菜单标题,因为子菜单是通过悬停打开的。

技术备注

事件

为什么在多触点设备上不能点击子菜单标题?

因为这样子菜单条目将永远无法访问。

在 Microsoft Surface 上

即使在平板模式,设备也不抛出 touch 事件,而是抛出 mouse 事件。它还伪装成带有鼠标的桌面电脑。因此,它告诉浏览器它支持 hoveringModernizr.hovermqtrue)。所以如果我们允许子菜单标题可以点击并直接打开,这不仅会在鼠标连接时发生,而且在使用手指的平板模式时也会发生。在这种情况下,子菜单条目将永远无法访问。

当我悬停在子菜单上方时,菜单关闭了

HTML 文档必须在 standards 模式下。请确保已设置!

这通常是由 CSS 外边距引起的。请只使用填充来调整菜单项的尺寸。请确保子菜单(ul 和 li)占据光标可以悬停的空间。

已知问题

关于较小的屏幕尺寸怎么办?

目前此菜单仅适用于平板电脑横屏和更大的尺寸。因此,请使用其他模块处理这种情况。尽管如此,本包计划支持 bootstrap 的移动菜单,以支持更小的屏幕尺寸。