2013-03-19 33 views
1

我正在做一个类似于bootstrap的下拉菜单。唯一的区别是我的下拉菜单的默认状态是display: table,因为我需要菜单看起来像一个表。不幸的是,这并不在IE10工作:悬停在显示下拉菜单上:表在IE中不起作用

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

它正常工作在Safari,Chrome和Firefox浏览器。

IE中发生的事情是,第一个悬停工作,但随后的盘旋不显示下拉菜单,但我确实看到了盒子阴影。它似乎height: 0,虽然设置height: auto不会做任何事情。

回答

1

我真的不知道IE为何如此表现。

无论如何,我得到它的工作使显示:表永久(即,在正常状态下)和hidding - 显示它直通知名度:

.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

+0

半相关的问题,如果我使用'visibility:hidden',是否保​​证下拉菜单在隐藏时不会被点击? – 2013-03-20 22:42:15

+0

具有可见性的元素:隐藏不会触发鼠标事件。参见[http://stackoverflow.com/q/5659563/1926369]。或者至少,他们不应该,很难说这是保证:-) – vals 2013-03-21 08:25:28

+0

我有点担心,但这种方法的作品。为什么IE,为什么!? – 2013-03-21 08:30:38