2011-06-26 131 views
7

我想在一些表格單元格有什麼有position:absolute添加::before選擇,但它失敗:CSS ::表單元格之前

table{ border:1px solid #ccc; padding:10px; } 
 
table td{ border:1px solid #ccc; padding:5px; } 
 

 
.useBefore::before{ 
 
    content:'before'; 
 
    position:absolute; 
 
}
<table> 
 
     <tbody> 
 
     <tr> 
 
      <td>bird</td> 
 
      <td>animal</td> 
 
      <td>nature</td> 
 
     </tr> 
 
     <tr class='useBefore'> 
 
      <td>building</td> 
 
      <td>robot</td> 
 
      <td>city</td> 
 
     </tr> 
 
     </tbody> 
 
    </table>

我注意到,如果我加入::before所有tr的的,然後它工作:

table{ 
 
    border:1px solid #ccc; 
 
    padding:10px; 
 
    } 
 
    table td{ 
 
    border:1px solid #ccc; 
 
    padding:5px; 
 
    } 
 
    
 
    tr::before{ 
 
    content:'before'; 
 
    position:absolute; 
 
    }
<table> 
 
    <tbody> 
 
     <tr> 
 
     <td>bird</td> 
 
     <td>animal</td> 
 
     <td>nature</td> 
 
     </tr> 
 
     <tr class='useBefore'> 
 
     <td>building</td> 
 
     <td>robot</td> 
 
     <td>city</td> 
 
     </tr> 
 
    </tbody> 
 
    </table>

但是這不是我想要的,因爲我只想在它們中的一些上添加它。

+0

爲什麼你之前有兩個冒號,* ahem *,'之前'? –

+0

好吧,它看起來很酷,我修改它:D – Adam

+0

它在FF5中適合我。也許你需要更清楚地定義「失敗」? –

回答

15

我不確定它爲什麼會失敗,但可以將它添加到第一個表格單元格中。

.useBefore td:first-child:before{ 
    content:'before'; 
    position:absolute; 
    } 
+1

我不知道爲什麼你的代碼工作,但它工作:))我試過'表tr .useBefore'但失敗了,嘿非常感謝! :)你的名字聽起來像匈牙利語中的骯髒詞,你是匈牙利人:P? – Adam

+1

@CIRK是的,其他人告訴我之前,我的名字是不好匈牙利:)。 – kapa

+0

我遇到了同樣的問題,並且注意到在'tr'上使用':before'做了一些事情,比如在第一個單元格之前插入一個新單元格,並將所有其他單元格放在一邊。使用'td:first-child'上的僞元素工作得很好。 – Cthulhu