【发布时间】:2011-09-26 01:11:59
【问题描述】:
我正在创建一个下拉菜单,如果主列表项没有子菜单,我希望在悬停时在所有四个角上添加圆角边框,但如果菜单列表项有子菜单,我希望只在悬停时将顶角圆角.子菜单本身不会有任何圆形边框,并且会融入父菜单的选项卡中。创建菜单的 HTML 源自 WordPress 函数 (wp_page_menu),该函数不会为不带子项的 li 标签和带子项的 li 标签创建不同的 CSS 类。
当列表项被鼠标悬停时,此 CSS 会在菜单列表项周围创建一个深灰色圆角矩形。但如果菜单列表项没有子项,我只想要这种效果。
.menu ul li:hover a {
background:#111;
-moz-border-radius: 15px;
-khtml-border-radius: 15px;
-webkit-border-radius: 15px;
border-radius: 15px;
}
好的,现在没有子项的主菜单列表项有 4 个圆角边框,而有子项的主菜单列表项只有顶部圆角边框。所以这很好。但是....现在子列表项也是选项卡式的(即,子菜单继承了选项卡式父项的样式)。我已经对样式表大惊小怪了几个小时,却无法得到我想要的东西。子列表项不应有任何圆形边框。使用 jQuery 和/或 CSS,如何防止子菜单继承?
【问题讨论】:
-
好吧,别管我最后的评论了。我现在也开始工作了。现在我只需要弄清楚当子菜单链接都很短时,如何使子菜单至少与父菜单一样长。
-
最后评论 - 我希望!那么 jQuery 方法在 IE9 中不起作用(适用于 Firefox、Chrome 和 Safari)。有人知道 IE 的解决方法吗?
-
一位热心且乐于助人的用户在我的 CSS 中发现了一个 IE 不喜欢的错误。修复了这个问题,现在 jQuery 在 IE9 中可以正常工作了。
标签: css menu drop-down-menu