2017-02-02 52 views
2

我想在樣式表這樣既th和td元素:普遍選擇,而不是逗號分隔的元素

<table> 
    <tr> 
    <th>Abc</th> 
    <td>Cde</td> 
    </tr> 
    <tr> 
    <th>Abc</th> 
    <td>Cde</td> 
    </tr> 
</table> 

我不希望添加類,所以我需要做的是這樣的:

tr td, tr th{background:#dddddd;} 
tr:nth-child(even) td, tr:nth-child(even) th{background:#ffffff;} 

但是......這樣做有什麼不利之處嗎?

tr > *{background:#dddddd;} 
tr:nth-child(even) > *{background:#ffffff;} 
+1

我沒有看到這樣做的任何問題,因爲只有直接的孩子是'td'和'th'。如果您關心的是性能,請閱讀此答案[此處](http://stackoverflow.com/a/13432169)。 –

回答

1

否;在最壞的情況下,你只會被那些仍然贊同「避免普遍選擇者」教條的人大吼大叫。如果您仍然擔心,因爲您的網頁與成千上萬的元素非常複雜,那麼您可以選擇不使用它,但由於there isn't any cross-browser alternative available,您只需要使用擴展的選擇器列表。