将鼠标悬停在带有显示的下拉菜单上:表格在 IE 中不起作用

Posted

技术标签:

【中文标题】将鼠标悬停在带有显示的下拉菜单上:表格在 IE 中不起作用【英文标题】:hovering over a dropdown menu with display: table doesn't work in IE 【发布时间】:2013-03-08 20:11:31 【问题描述】:

我正在做一个类似于引导程序的下拉菜单。唯一的区别是我的下拉菜单的默认状态是display: table,因为我需要菜单看起来像一个表格。不幸的是,这在 IE10 中不起作用:

http://codepen.io/anon/pen/LfdoB

它在 safari、chrome 和 firefox 中都能正常工作。

在 IE 中发生的情况是第一次悬停有效,但随后的悬停不显示下拉菜单,但我确实看到了框阴影。似乎height: 0,虽然设置height: auto 并没有做任何事情。

【问题讨论】:

【参考方案1】:

我真的不知道为什么 IE 会这样。

无论如何,我让它工作 display:table 永久(即处于正常状态)并隐藏 - 通过可见性显示它:

.dropdown-menu 
    position: absolute;
    top: 100%;
    left: 0;
    z-index: 1000;
    display: table;
    visibility: hidden;
    min-width: 100%;
    background-color: white;
    box-shadow: 0 4px 8px 4px rgba(0, 0,0, .15);


:hover > .dropdown-menu 
    visibility: visible; 
    

updated codepen

【讨论】:

半相关问题,如果我使用visibility: hidden,是否保证隐藏时下拉菜单不可点击? 具有可见性的元素:隐藏不会触发鼠标事件。见 [***.com/q/5659563/1926369]。或者至少,他们不应该,很难说这是有道理的:-) 为什么 IE 为什么会成为最流行的短语之一 :-)

以上是关于将鼠标悬停在带有显示的下拉菜单上:表格在 IE 中不起作用的主要内容,如果未能解决你的问题,请参考以下文章

在鼠标悬停上打开菜单,在mouseleave上关闭菜单进行反应

仅当悬停在 li 中的 span 上时才显示下拉菜单

Vuetify - 鼠标悬停时下拉菜单不突出显示

将鼠标悬停在一个带有子菜单的引导子菜单项上会重新排列父列表项

Reactjs下拉菜单悬停在单词上时不显示

悬停“向右下拉”菜单