2013-04-10 27 views
0

嗨選擇所有的首個TD的,我想(與文本「標籤」td)每一行的一個表中只選擇第一<td>,如果你有一個簡單的HTML,如:如何在表

<table> 
    <tr><td>label</td> <td>value</td></tr> 
    <tr><td>label</td> <td>value</td></tr> 
    <tr><td>label</td> <td>value</td></tr> 
</table> 

我想分配例如只有第一個<td></td>組的10%的寬度與選擇器我不想要使用類。

我已經試過了如下選擇:

table.widget tr:first-child td{ 
    width:10%; 
    border:0; 
} 

但是,選擇只將選擇第一tr的第一td沒有全部TD's所以我嘗試

table.widget tr td:first-child{ 
    max-width:10%; 
} 

當然,我得到了什麼是TD的第一個孩子的選擇。不是td本身

它可以實現這個?

回答

3

你的第二選擇實際上是正確的:

http://tinker.io/40f64

table.widget tr td:first-child { 
    background: orange; 
} 

選擇每個TD的第一個孩子,選擇會像這樣:

table.widget tr td :first-child { /* note the space after the td */ 
    // styles 
} 

應當注意的是,該OP的樣品臺不具備widget類應用於它。

如果你的表是表達鍵/值對的集合,把你的標籤文本th內可能更合適:

http://tinker.io/40f64/1

table.widget th { 
    background: orange; 
} 

<table class="widget"> 
    <tr><th>label</th> <td>value</td></tr> 
    <tr><th>label</th> <td>value</td></tr> 
    <tr><th>label</th> <td>value</td></tr> 
</table> 
+0

ohhh不知道t之前的th ..很好的建議,謝謝現在工作... – ncubica 2013-04-10 20:46:02

+0

td之後沒有空間和空間空間的選擇器有什麼區別? – ncubica 2013-04-10 20:50:32

+1

'E:first-child'只是':first-child'的一個更具體的版本。這兩個元素必須是第一個孩子,但是'E:first-child'指定它必須是E的特定元素。所以'td:first-child'說*得到td,它是父母的第一個元素*,而'td:first-child'說*得到td中的第一個元素,不管它是什麼樣的*。 – cimmanon 2013-04-10 20:57:33

0

試試這個:

table tr td:first-child { color: red; } 

小提琴:http://jsfiddle.net/74MFH/1/

+0

他希望所有的第一'​​'每行不只是_第一個'​​' – peirix 2013-04-10 20:18:25

+0

誤解了請求。在編輯中修復。 – sbeliv01 2013-04-10 20:18:53