Css之前和之前的孩子后

时间:2015-10-08 11:56:51

标签: css css-selectors html-lists

在ul里面我有6个lis,我想采取最后5个lis:之前和之后:

我如何得到这个孩子(期待第一个孩子):

nav li a:before, nav li a:after {
}

我尝试了这个但是没有用:

nav li:nth-child(n+5) a:before, nav li:nth-child(n+5) a:after {
    content:none; 
}

4 个答案:

答案 0 :(得分:0)

你可以这样做:

   nav li:not(:first-child) a::before, 
   nav li:not(:first-child) a::after {
       /* your styles here */
    }

    nav ul li:nth-last-child(-n+5) {
           /* your styles here */
    }

答案 1 :(得分:0)

你可以使用如下所示的css:

nav ul li:nth-child(5) a:before,
nav ul li:nth-child(5) a:after {
    content:.;
}

答案 2 :(得分:0)

有两种方法可以解决这个问题。一种方法是简单地将样式应用于以下内容:

nav li a:before, nav li a:after {
}

然后仅为第一个元素覆盖这些样式:

nav li:first-child a:before, nav li:first-child a:after {
}

或者,你可以使用:nth-​​last-child()选择器来选择你需要的所有最后5个元素:

nav li:nth-last-child(-n+5) a:before, nav li:nth-last-child(-n+5) a:after {
}

这种方法的唯一问题是IE8不支持:nth-​​last-child。

答案 3 :(得分:-1)

快速更新以适应:

nav ul li:nth-child(5) a:before,
nav ul li:nth-child(5) a:after {
    content:.;
}