【发布时间】:2011-10-25 20:07:02
【问题描述】:
我有一个使用列表的主菜单。当用户将鼠标悬停在某个项目上时,它会向上移动以向用户指示悬停,同时更改背景颜色并显示其子菜单。
Link to the website with the issue.
如果需要 firebug,请在查询字符串中添加 debug=true。
问题出在 IE8 中,如果子菜单处于活动状态并且用户将鼠标悬停在主级别中的任何列表项上,则所有先前的项目都像悬停在其上一样。这意味着这些列表项会向上移动,但 background-color 不会改变。根据用户将鼠标移动到列表项上的方式,某些项甚至会低于起始位置。
这是我转换为CSS 的SASS,以帮助了解我如何移动我的菜单项。
#mainmenu ul li:hover,
#mainmenu ul li.active{
margin-top: -15px
}
在 HTML 中,子菜单处于活动状态和非活动状态之间的唯一区别是主级别列表项有一个类 subactive,它不被任何 css 使用,而活动子列表项有一个类 active。
我感觉问题出在background-color 更改和margin-top 负值之间。
通常人们会期望之后的元素会受到影响,而不是之前的元素。
请避免任何Javascript 修复。
谢谢!
【问题讨论】:
标签: css internet-explorer-8 cross-browser