删除第一项的伪类

时间:2014-10-23 15:13:59

标签: html css

我有一个简单的无序列表:

  <ul id="sub_menu">
    <li></li> 
    <li></li>
    <li></li>
    <!-- and some more -->
  </ul> 

我删除了list-style-type中的任何一个,并使用:pseudo

创建了自己的#sub_menu ul li:before { content: "• "; color: #FFFFFF; }
li

我知道想知道的是,如果我想删除此列表中第一个{{1}}项的伪类,那么CSS选择器会是什么样的。

由于

3 个答案:

答案 0 :(得分:3)

您可以使用li选择器排除第一个:not()

#sub_menu ul li:not(:first-child):before {
  content: "• ";
  color: #FFFFFF; 
}

如果您需要IE8兼容性,您可以使用兄弟选择器的组合,例如:

#sub_menu ul li:first-child ~ li:before {
  content: "• ";
  color: #FFFFFF; 
}

修改

另外,只是旁注...根据您的HTML,选择器是错误的。如果ul的ID为#sub_menu,则应为

#sub_menu li

而不是

#sub_menu ul li

答案 1 :(得分:3)

以下选择器都适用于IE7:

#sub_menu ul li + li::before
#sub_menu ul li ~ li::before

他们的行为与:

相同
#sub_menu ul li:not(:first-child)::before 

答案 2 :(得分:0)

另一种选择是

#sub_menu ul li:nth-child(n+2):before {
  content: "• ";
  color: #FFFFFF; 
}