2011-05-25 115 views
5

我有以下的CSS样式简单的列表:CSS3:覆盖后:最后一个孩子

​​3210

我得到除了最后一个孩子应有的效果没有失去它的竖线“|” 。

Link | Link | Link | 

我试着结合:后:最后一个孩子&反之亦然,但第一:声明总是优先后。

回答

6

做:

ul.menu_list li:after { 
    content:" | "; 
} 
ul.menu_list li:last-child:after { 
    content:""; 
} 
+0

这也应该起作用。 – scurker 2011-05-25 15:22:29

+0

我试过这个,我发誓它没有工作,但它肯定是。猜猜我需要休息一下。谢谢! – dv8withn8 2011-05-25 15:27:15

0

ul.menu_list li:last-child:after应该做的伎俩。

Here is a fiddle,显示它在行动..

2

试试这个:

ul.menu_list li:not(:last-child):after { 
    content:" | "; 
} 
+0

你有任何支持':not'选择器的信息吗? – timdream 2011-05-25 15:25:55

+0

工程很棒。我不知道“not()”功能。这样很好,很流畅。 – dv8withn8 2011-05-25 15:28:40

+1

@timdream是的,请参见[quirksmode](http://www.quirksmode.org/css/contents.html#t37)。除了 scurker 2011-05-25 15:30:01

0

我发现 “李+ LI:之前” 中的IE8,Chrome浏览器,Firefox和Safari浏览器适用于Windows

+0

例如,li + li:在{content:'\ 0020 \ 2215 \ 0020';}之前} – ryanjohnsond 2013-08-02 18:49:09

相关问题