2011-09-21 43 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>