html - Drupal 菜单上的悬停问题

标签 html css drupal menu

我有一个菜单,当用户将鼠标悬停在菜单上时,会出现子菜单。只有当您没有将鼠标悬停在文本上时,子菜单才会消失。

让我试着用图片来说明。
悬停文本时(应该如何):
enter image description here导致这个 enter image description here

将鼠标悬停在文本附近的区域时:
enter image description here导致这个 enter image description here

更复杂的是,它只发生在 Safari en Chrome(我猜是 webkit 引擎)中,而且它不会一直这样做:)

我猜这是一个 css 问题,但有人知道去哪里找吗?

(哦,这是一个 Drupal 网站,所以我不知道它是否适合...)

更新
这是 HTML 的样子: enter image description here

最佳答案

有一些模块可以为您做到这一点,例如 Nice Menus。

子菜单可能不是 DOM 中父菜单的子菜单。大概是这样的:

<ul id="parent">
    <li>menu item</li>
</ul>
<ul id="submenu">
    <li>menu item</li>
</ul>

因此,当您将鼠标悬停在子菜单上时,会在父菜单上触发 mouseLeave/mouseOut。 您可以通过多种方式解决此问题。一种是重组您的 HTML,使子菜单位于父级中:

<ul id="parent">
    <li>menu item
        <ul id="submenu">
            <li>menu item</li>
        </ul>
    </li>
</ul>

或在 JavaScript 中检测/保存悬停项状态。为此,一种可能的方法是使用 jQuery 数据对象或将类(例如“on”)添加到您悬停的菜单,并使用兄弟/子选择器来检测您是否在子菜单中。如果您不在父菜单或子菜单中,请删除“on”类。

有很多方法可以做到这一点,无论是在 JavaScript/HTML/CSS 中还是使用 Drupal 模块。如果您仍然感到困惑,请显示一些代码。

关于html - Drupal 菜单上的悬停问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5785465/

相关文章:

html - overflow auto 和 visible 的混合行为

CSS:绝对位置无法调整大小

html - 在其他 div 之上分层 div

php - uwamp drupal 8 安装新模块失败

javascript - 不使用热重载时无法解析组件

html - 如何定位表单中的 div 类?

javascript - POST 请求时出现错误 422 Angular 2 Drupal 8

Drupal 作为 RESTful API 的后端?

java - 如何使用 Jsoup 选择没有 ID 或属性的 div?

jquery - 我如何单击加载 html 页面的链接,然后使用 ajax(不单击任何内容)加载外部 html 页面?