纯CSS菜单上的箭头下拉有孩子

时间:2014-05-12 16:14:07

标签: css css3

我有一个非常好的CSS下拉菜单,但我希望在父菜单项上有一个下拉箭头,其中有子项向用户显示菜单有选项/选项。我现在有这个:

/* drop down arror */   
nav ul li > a:last-child:after  { content: ' ▾'; } 

这会在每个菜单项旁边放置一个下拉箭头,除了带有子项的项目。所以我需要的是与此完全相反的。我希望有a:has-childa:is-parent。如果没有JavaScript路线或图像路线,任何人都知道如何做到这一点?

提前感谢您对我的问题的帮助

3 个答案:

答案 0 :(得分:0)

看起来你已经有了类似于你想要的选择,它只是颠倒了。尝试将箭头放在每个项目上,然后使用您创建的选择器将其隐藏在它不应显示的项目上。箭头将留在您无法选择的项目上。

答案 1 :(得分:0)

我担心目前没有方法可以通过CSS选择父元素。 如果有办法,可以在CSS选择器规范中看到它:

CSS3 Selectors

我说您可以选择将不同的类别与ul对齐,例如<ul class="parent"><ul class="sub-menu">,以便您可以在CSS中选择它们,或者定位父级元素通过javascript

答案 2 :(得分:0)

天哪,我现在能够使用以下代码使用反复试验来解决这个问题:

nav ul li > a:not(:last-child):after  { content: ' ▾'; }  

关于它的事情是我最初尝试过它并且它没有用。

nav ul li > a:not:last-child:after  { content: ' ▾'; }  

所以关键是你必须使用括号:not modifier,我不知道。基本上,非操作员做了我所拥有的“反面”和它的工作。