2015-03-13 81 views
0

嘗試將樣式應用於除最後一個元素之外的所有元素。但它不起作用。嘗試了這一切:無法獲得「第n個最後孩子」的工作

  • UL李:沒有(UL李:第n-最後孩子)
  • UL李:不是(第n-最後一個孩子)
  • UL李:沒有(:第n-最後柴爾德)

ul { 
 
    list-style: none; 
 
    margin: 0; 
 
    float: left; 
 
    width: 100%; 
 
    text-align: center; 
 
} 
 
ul li { 
 
    height: 54px; 
 
    width: 54px; 
 
    border-radius: 60px; 
 
    
 
} 
 

 
/* /// THIS PART IS NOT WORKING PROPERLY 
 
RIGHT NOW IT REMOVES MARGIN FOR ALL THE ELEMENTS/// */ 
 
ul li:not(ul li:nth-last-child) { 
 
margin-left: 10px; 
 
} 
 

 
.red {background: #fc4c4f;} 
 
.blue {background: #4fa3fc;} 
 
.yellow {background: #ECD13F;}
<ul> 
 
    <li class="red selected"></li> 
 
    <li class="blue"></li> 
 
    <li class="yellow"></li> 
 
</ul>

+2

':第n-最後一個孩子()'是一個功能僞類。如果它不知道n應該是什麼,它不會起作用。另外,':not()'不接受CSS中的組合器,與jQuery不同。請參閱http://stackoverflow.com/questions/10711730/why-is-my-jquery-not-selector-not-working-in-css – BoltClock 2015-03-13 09:57:31

回答

0

嘗試以下。我假設你不想將CSS應用到最後的ul li元素。

ul > li:not(:last-child){ 
    margin-left: 15px; 
} 

:nth-last-child實際上需要一個參數,它尋找。

CSS3 :nth-last-child() Selector

+0

這將刪除所有元素的邊距...我有一個dded代碼在題。請幫助) – 2015-03-13 09:39:05

+0

請嘗試更新的答案。 – 2015-03-13 09:42:10

+0

嘗試過。仍然刪除所有元素的保證金... – 2015-03-13 09:44:34

0

試圖樣式應用到所有的元素,除了最後一個。

爲什麼不使用last-child

ul { 
 
    list-style: none; 
 
    margin: 0; 
 
    float: left; 
 
    width: 100%; 
 
    text-align: center; 
 
} 
 
ul li { 
 
    height: 54px; 
 
    width: 54px; 
 
    border-radius: 60px; 
 
} 
 
ul li:not(:last-child) { 
 
    margin-left: 10px; 
 
} 
 
.red { 
 
    background: #fc4c4f; 
 
} 
 
.blue { 
 
    background: #4fa3fc; 
 
} 
 
.yellow { 
 
    background: #ECD13F; 
 
}
<ul> 
 
    <li class="red selected"></li> 
 
    <li class="blue"></li> 
 
    <li class="yellow"></li> 
 
</ul>