2013-03-21 102 views
0

如何選擇每個第一個和第四個div:nth-child選擇器以便爲其添加特定樣式?選擇每第一個和四個小時(最後一個)div

.main{ 
 
    width:460px; 
 
    height:240px; 
 
} 
 
.box{ 
 
    width:100px; 
 
    height:100px; 
 
    background:red; 
 
    float:left; 
 
    margin:10px; 
 
} 
 

 
/*I tried */ 
 

 
.box:nth-child(n+4),.box:first-child{ 
 
    margin:10px 10px 10px 0; 
 
} 
 

 
.box:nth-child(4n){ 
 
    margin:10px 0px 10px 10px; 
 
}
<div class="main"> 
 
    <div class="box"></div> <!-- margin-left:0px --> 
 
    <div class="box"></div> 
 
    <div class="box"></div> 
 
    <div class="box"></div> <!-- margin-right:0px --> 
 
    <div class="box"></div> <!-- margin-left:0px --> 
 
    <div class="box"></div> 
 
    <div class="box"></div> 
 
    <div class="box"></div> <!-- margin-right:0px --> 
 
</div>

第二個代碼的工作,但我有第一個麻煩?

如何行中選擇每第一最後格(行包含4的div)?

JSFiddle

回答

6

嘗試這種情況:

.box:nth-child(4n+1) 

這應該包括第一(+1)元件,然後每第四個(4n)。

+0

Tnx。它的工作,歡呼。 – Vucko 2013-03-21 20:41:01

5

JSFIDDLE

4N將選擇4,8,12 ....

4N + 1將選擇1,5,9,13,...

使用式(一個+ b)。說明:a表示週期大小,n是計數器(從0開始),b是偏移值。

.box:nth-child(4n){ 
    margin:10px 0px 10px 10px; 
} 

.box:nth-child(4n+1){ 
    margin:10px 10px 10px 0; 
} 
1

試試這個:

http://jsfiddle.net/cJwVc/

.box:nth-child(4n+1){ 
    background-color:yellow; 
    margin-left:0; 
} 

.box:nth-child(4n){ 
    background-color:blue; 
    margin-right:0; 
} 
0

如果您需要IE8或下方支撐,應該比你在jQuery的使用選擇。用你的例子:

$('.box:nth-child(4n+1)').css('background-color', 'yellow'); 
相關問題