首页 > css3不包括

css3不包括

我这下面有一组li,我想给他们加个红色背景,但是就是除了最后一个不加要怎么写?
我用下面那样写没用

li:not(li:nth-last-child){
   background:red;
}

<ul>
<li></li>
<li></li>
<li></li>
</ul>

难道不是这样?

li:not(:last-of-type){
}
/**:last-of-type指的是相对父元素的最后一个li元素**/

二楼的答案,也可以

li:not(:last-child){
}
/**:last-child指的是li元素而且这个li元素是父元素的最后一个元素**/

/**等同于楼主的**/
li:not(:nth-last-child(1)){
}

两者有什么不同?

对于ul元素子元素全是li元素时,两者是一样的

<ul>
    <li>
    <li>
    <li><!--第一个和第二个选择器都会忽略这个-->
<ul>

但是如果ul元素子元素不全是li而且最后一个元素也不是li时

<ul>
    <li>
    <li>
    <p>
    <li> <!--这时候第一个选择器会忽略这个,而第二个选择器会全选上-->
    <i>
<ul>

li:not(:last-child){
}

【热门文章】
【热门文章】