【问题标题】:CSS Mega menu when hovering from a link to the next reverts to first selected link从链接悬停到下一个链接时的 CSS Mega 菜单恢复到第一个选定的链接
【发布时间】:2020-01-12 17:49:50
【问题描述】:

我正在尝试使用 Valeriu Timbuc 在此处找到的指南创建一个大型菜单:https://designmodo.com/create-css3-mega-menu/

I've found out while playing around with it that when a menu item is selected to show the menu div (menu 1), then when you select another menu (menu 2) to show it's menu div, if you move your鼠标在选定的菜单 div 下方(菜单 2 - 就像您尝试从新选择的 div 中选择一个项目一样),选定的菜单会跳回到您选择的第一个菜单项(菜单 1)。

这只发生在从右到左的菜单项 - 它不会发生在从左到右的项目。 在网络演示中,它看起来是双向发生的,在我的个人测试中,它只会从右到左发生

要重现该行为,请在此处的演示页面上执行以下操作:https://designmodo.com/demo/css3megamenu/

  1. 将鼠标悬停在“收入”菜单项上
  2. 将鼠标悬停在左侧的任何菜单项上 - 说“评分最高”或“最新消息”(在本示例中,我们将使用“最新消息”链接,因为下拉菜单中有项目)
  3. 显示“新增功能”项后,立即向下移动鼠标以从“新增功能”下拉菜单中选择一项
  4. 屏幕跳回到“收益”菜单。

做同样的事情,但从左到右的方向相反,即首先选择“最新消息”菜单项,然后将鼠标悬停在“收入”菜单项上将显示移动鼠标的正确行为不跳回到之前选择的菜单项。

要查看实际发生的情况,请观看此处的视频:https://imgur.com/a/3Jg4w0b

这个大型菜单非常适合我除了这个中等问题之外需要做的事情。任何有关这方面的帮助将不胜感激。

【问题讨论】:

  • 只有当你移动得太快时才会发生这种情况。如果你等到动画结束,就可以了。这可能是原始设计者代码中的一个错误,您应该提醒他们。
  • 是的,不幸的是,即使您等待动画“结束”,它也会发生。我的意思是,您等待屏幕出现,然后向下移动,但它会再次恢复到前一个屏幕。大部分时间都可以复制它,但真的不想处于需要等待它加载的状态。

标签: html css css-transitions


【解决方案1】:

在查看了多个大型菜单解决方案后,我发现了导致此问题的原因。

在菜单下拉部分中定义菜单项时,显示的 CSS 应设置为“无”(而不是演示中显示的“块”),以防止 div 完全无法访问。

尽管由于可见性和溢出设置为“隐藏”,因此 div 似乎是隐藏的,但看起来 div 区域仍然存在,这就是为什么将鼠标悬停在菜单项下方仍然会像上一个下拉菜单项已被选中一样因为该下拉菜单仍然在屏幕上显示一个 div。

在悬停 CSS 上,显示应设置为“块”,这只会在您将鼠标悬停在链接上时绘制元素。

【讨论】:

    猜你喜欢
    • 2014-05-19
    • 2013-03-13
    • 1970-01-01
    • 1970-01-01
    • 2016-08-25
    • 1970-01-01
    • 2013-02-09
    • 1970-01-01
    • 2023-04-08
    相关资源
    最近更新 更多