2011-06-26 15 views
7

Bir position:absolute olan bazı tablo hücrelerinde ::before seçici eklemek istiyorum, ancak başarısız oluyor:CSS :: Tablo Hücresinden Önce

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 'i tüm tr'lara eklediğimde işe yarar:

Ama bu istediğim şey değil, çünkü sadece bazılarına eklemek istiyorum.

+0

Neden iki nokta üst üste önce, * ahem *, 'before' var? –

+0

iyi, çok havalı görünüyor, onu düzenliyorum: D – Adam

+0

FF5'te benim için iyi çalışıyor. Belki de "başarısız" biraz daha açık tanımlamanız gerekir? –

cevap

15

Tam olarak neden başarısız olduğunu bilmiyorum, ancak bunun yerine ilk tablo hücresine ekleyebilirsiniz.

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

Kodunuzun neden çalıştığından emin değilim, ama işe yarıyor :)) 'tr.useBefore' tablosunu denedim ama bu başarısız oldu, hey çok teşekkürler! :) İsminiz Macarca'da kirli bir kelime gibi geliyor Macarca: P? – Adam

+1

@CIRK Evet, bazı insanlar bana daha önce Macarcada ismimin hoş olmadığını söyledi :). – kapa

+0

Aynı problemi yaşıyordum ve 'tr'den önce' 'önce' kullanarak ilkinden önce yeni bir hücre yerleştirmek gibi bir şey yaptığını ve tüm diğer hücreleri de kenara ittiğini fark ettim. 'Td: first-child' üzerindeki sözde elemanın kullanılması gayet iyi çalıştı. – Cthulhu

İlgili konular