Css 之前和之后的孩子

Css childs of before & after

在 ul 中我有 6 个 lis,我想取最后 5 个 lis :before 和 :after

我如何得到这个的孩子(除了第一个):

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; 
}

适合的快速更新:

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

你可以这样做:

   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 */
    }

您可以使用 css,如下所示:

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

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

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

然后仅覆盖第一个元素的那些样式:

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

或者,您可以使用 :nth-last-child() select 或 select 您需要的所有最后 5 个元素:

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

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