2013-07-22 86 views
0

這是CSS:爲什麼這個nth-child僞選擇器在下表中不起作用?

#signup .vedit tbody > tr.b_part3:nth-child(2) { 
    background: red; 
} 

的HTML結構:

enter image description here

正如你所看到的,我要選擇表的第二.b_part tr元素。

但由於某種原因CSS規則沒有被應用。

可能是什麼問題?

直播現場:http://www.chineselearnonline.com/amember/signup4.php

+0

考慮一下'#signup .vedit TBODY> TR:第n個孩子(2)'會選擇再檢查是否有任何選擇的元素將有'b_part3'類。 – Musa

+0

@Musa奇怪,那有效。沒有選擇「b_part3」類的第二個'tr'。 – alexchenco

+0

而不是從0索引?所以如果你想選擇第二個,它會是'n-child(1);' – Chad

回答

1

我知道@Musa梳理出一個解決這個問題,但我會添加到剛剛記錄的情況下,其他人遇到這個問題。

截至目前您的不能通過類和使用:nth-​​child()的姐妹段部分。

//Standard Use: 
    ul li:nth-child(2) { 
     color: #0cf; 
    } 

    <ul> 
     <li>One</li> 
     <li>Two</li> <!-- Highlights Two --> 
     <li>Three</li> 
    </ul> 

    // Attempted Use: 
    ul li.scope:nth-child(2) { 
     color: #0cf; 
    } 

    <ul> 
     <li>One</li> 
     <li>Two</li> 
     <li>Three</li> 
     <li class="scope">One</li> 
     <li class="scope">Two</li> <!-- Fails --> 
     <li class="scope">Thre</li> 
    </ul> 

    // Optional Solution: 
    ul.scope li:nth-child(2) { 
     color: #0cf; 
    } 

    <ul> 
     <li>One</li> 
     <li>Two</li> 
     <li>Three</li> 
    </ul> 

    <ul class="scope"> 
     <li>One</li> 
     <li>Two</li> <!-- Highlights Two --> 
     <li>Three</li> 
    </ul> 

看來,爲了使第n個孩子僞類來激活,它需要直接訪問元素本身,而不是它的一個節點。因此,目前主要的工作是重新考慮因素,並將您的範圍提高到一個級別(或更高)。

相關問題