2015-10-03 93 views
2

我有一个列表tags我想要水平显示。现在为每个<li>,但最后一个,我想在物品后添加一个,。现在选择除最后一个列表元素外的所有元素

,我能做到这一点,当然:

ul.tags { 
    list-style: none; 
} 

ul.tags > li { 
    display: inline; 
} 

ul.tags > li:after { 
    content: ", "; 
} 

ul.tags > li:last-of-type:after { 
    content: ""; 
} 

现在我想过合并最后两个规则,如:

ul.tags > li:not(ul.tags > li:last-of-type):after { 
    content: ", "; 
} 

但是,这是行不通的。我如何选择全部但最后的<li>

回答

1

所有你需要的仅仅是:not内的:last-of-type(如下面的代码片段所示)。作为参数的:not accepts only simple selectors

下面是什么specifications说一下简单的选择:

一个简单的选择要么是一个类型选择,通用选择,属性选择器,类选择,ID选择,或者伪类。

ul.tags > li:not(:last-of-type):after { 
 
    content: ", "; 
 
} 
 
ul.tags { 
 
    list-style: none; 
 
} 
 
ul.tags > li { 
 
    display: inline; 
 
}
<ul class='tags'> 
 
    <li>1</li> 
 
    <li>2</li> 
 
    <li>3</li> 
 
    <li>4</li> 
 
</ul>

相关问题