2011-09-21 53 views
1

我用這種方式設計元素的時間最長。table.class tr,th和table .class tr,th之間有區別嗎?

table .class tr, th{ 

} 

今天我有一些瘋狂的CSS相關的錯誤,它發生,我認爲它可能在過去的偶然,實際上它是什麼做的是不選擇某一類表已工作,但隨後選擇表某一類的元素。

我認爲css會忽略表和.class之間的空間。但是呢?

table.class tr, th{ 

} 
將這工作不同

?我不敢相信我之前沒有想過這件事! (尷尬)

謝謝!

回答

4

table .class tr選擇這樣的:

<table> 
    <tbody class="class"> 
     <tr></tr> 
    </tbody> 
</table> 

雖然table.class tr選擇這樣的:

<table class="class"> 
    <tr></tr> 
</table> 
2

你在你的問題的答案是:

table .class tr, th ......選擇tr.class elementtable一個th

table.class tr, th ......選擇tr一個table with the class "class"一個th內。

空間有所不同。

有了空間,您選擇其他元素的tabletr(也許theadtbody?)

沒有空間之間,你與類class選擇table

BTW,我不知道你想這一點,但, th意味着「也給這些相同的樣式都th的」

1

table.foo選擇foo類的表。

table .foo選擇所有具有foo類的元素,並且位於表內。

所以,你的選擇之前:

table .class tr, th選擇頁面上的所有tr S中的具有class類,並且是在表內的元素中,以及所有th秒。

1

table .class tr會選擇一個tr

<table> 
    <tbody class="class"> 
    <tr></tr> 
    </tbody> 
</table> 

,但沒有:

<table class="class"> 
    <tr></tr> 
</table> 

雖然table.class tr會選擇一個tr

<table class="class"> 
    <tr></tr> 
</table> 

和A tr

<table class="class"> 
    <tbody> 
    <tr></tr> 
    </tbody> 
</table> 

但沒有:

<table> 
    <tbody class="class"> 
    <tr></tr> 
    </tbody> 
</table>