2012-08-29 37 views
1

我使用这个我的导航菜单上分离列表项防止李父李+携带儿童

nav li + li:before{ 
    content: " | "; 
} 

这使得每个列表项目之间的吧,它不会把前杠第一元件。使用:before伪选择器,它不会在末尾放置一个。 (这里建议的Separators For Navigation

但是,我想要防止这一点进行到子列表项。

例如nav ul li ul li

我试过content:none;content:"";对孩子,但他们仍然显示在子菜单中。

请帮忙!

回答

3

替代而不覆盖,使用儿童Combinator的(>):

nav > ul > li + li:before { 
    content: " | "; 
} 

童Combinator的选择的元素,如果它是另一个元件的直接子(而不是该元素的孙) 。

2

啊 - 我找到了答案!

nav ul li li:before { 
    content: ""; 
} 
+0

这确实奏效,做得很好!但是最好使用更具体的选择器,而不是必须覆盖以前指定的所有内容。如果仅仅因为它更高效,而且稍后尝试稍微修改样式(并且必须弄清楚为什么*某些东西不是级联),那么复杂度会更低。 –