我这下面有一组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){}
难道不是这样?
二楼的答案,也可以
两者有什么不同?
对于ul元素子元素全是li元素时,两者是一样的
但是如果ul元素子元素不全是li而且最后一个元素也不是li时
li:not(:last-child){
}