2016-03-18 21 views
2

我有一個HTML結構,每行顯示4個塊,塊的背景色設置爲CSS偶數和奇數(紅色和綠色)。反轉每個子項後的奇偶模式

是否可以更改奇偶奇偶後每第四項?

JSFiddle here

注:我們不能改變的HTML結構。

<ul> 
    <li>bg color RED</li> 
    <li>bg color Green</li> 
    <li>bg color RED</li> 
    <li>bg color Green</li> 
    <li>bg color Green</li> 
    <li>bg color RED</li> 
    <li>bg color Green</li> 
    <li>bg color RED</li> 
    <li>bg color Green</li> 
    <li>bg color RED</li> 
    <li>bg color Green</li> 
    <li>bg color RED</li> 
</ul> 
+0

我能問你正在尋找這兩個樣品的?也許我可以重寫一下標題以幫助未來的搜索:) – Harry

+0

我的目標是你已經完成了這是你的第一個答案:) – ShibinRagh

回答

1

是否有可能改變奇偶奇到即使在每一個來回的項目?

如果你的意思是,對於前4種元素的奇數元素應該有紅色的背景,而甚至是那些應該有綠色的背景,它被交換爲每套4元,那麼你可以使用nth-child選擇像它這樣做下面的片段。它也可以使用nth-of-type來完成。

ul{ 
 
    padding:0; 
 
    width:100%; 
 
} 
 
li{ 
 
    width:25%; 
 
    height:50px; 
 
    float:left; 
 
    border:1px solid black; 
 
    list-style:none; 
 
    box-sizing: border-box; 
 
} 
 
li:nth-child(8n+1),li:nth-child(8n+3), li:nth-child(8n+6), li:nth-child(8n){ 
 
    background: red; 
 
} 
 
li:nth-child(8n+2),li:nth-child(8n+4), li:nth-child(8n+5), li:nth-child(8n+7){ 
 
    background: green; 
 
}
<ul> 
 
<li>bg color RED</li> 
 
<li>bg color Green</li> 
 
<li>bg color RED</li> 
 
<li>bg color Green</li> 
 
<li>bg color Green</li> 
 
<li>bg color RED</li> 
 
<li>bg color Green</li> 
 
<li>bg color RED</li> 
 
<li>bg color RED</li> 
 
<li>bg color Green</li> 
 
<li>bg color RED</li> 
 
<li>bg color Green</li> 
 
</ul>


或者,如果你的意思是說,對於前四個元素,奇數元素應該有紅色的背景,而甚至是那些具有綠色背景和之後(也就是,從第5元素),奇怪的元素應該有綠色背景,而偶數元素應該有紅色背景,那麼你可以像下面的代碼片段那樣做。

ul { 
 
    padding: 0; 
 
    width: 100%; 
 
} 
 
li { 
 
    width: 25%; 
 
    height: 50px; 
 
    float: left; 
 
    border: 1px solid black; 
 
    list-style: none; 
 
    box-sizing: border-box; 
 
} 
 
li:nth-child(2), li:nth-child(4), li:nth-child(2n+5) { 
 
    background: green; 
 
} 
 
li:nth-child(1), li:nth-child(3), li:nth-child(2n+6) { 
 
    background: red; 
 
}
<ul> 
 
    <li>bg color RED</li> 
 
    <li>bg color Green</li> 
 
    <li>bg color RED</li> 
 
    <li>bg color Green</li> 
 
    <li>bg color Green</li> 
 
    <li>bg color RED</li> 
 
    <li>bg color Green</li> 
 
    <li>bg color RED</li> 
 
    <li>bg color Green</li> 
 
    <li>bg color RED</li> 
 
    <li>bg color Green</li> 
 
    <li>bg color RED</li> 
 
    <li>bg color Green</li> 
 
    <li>bg color RED</li> 
 
    <li>bg color Green</li> 
 
    <li>bg color RED</li> 
 
</ul>