我在这里设置了CSS菜单:
问题是,我注意到IE没有正确显示菜单,现在我又回到使用我的电脑来修复IE8了。我正在使用兼容模式。
我注意到了两个问题。在子菜单上,(说“资源中心”),每个项目之间有一个额外的间距,当光标通过它时关闭菜单。这听起来像IE Whitespace bug,但我使用PHP去掉了White-space。如果我使用float:left; clear:left;它导致菜单在Firefox和IE中的长度相等。
有人知道发生了什么事吗?
答案 0 :(得分:1)
我仅在IE 7上测试了我的解决方案。
元素中的:
li.menu-item
你必须改变
display:block;
到
display:inline;
答案 1 :(得分:0)
第一个是min-width
#main-nav > ul > li ul a
。出于某种原因,IE7在a
上具有此值会使其忽略它为display: block
。这可能与父母被误解为inline-block
有关(参见#2)。
其次是来自display: inline-block
上方li
.sub-menu
的{{1}}继承的li.menu-item
。当我删除这些项目时,IE7开始正常运作。
在所有情况下,这与您所谓的“IE Whitespace Bug”无关。在计算空白的拼贴时,ul.submenu
元素与inline-block
元素的处理方式没有区别。 This is per the spec。 IE没有错误,任何不会将空格折叠为inline
和inline
元素之间的单个空格(不使用bikesheding: discard
)的浏览器违反了规范。< / p>