2010-04-24 15 views
9

Neden ilk paragraf Nasıl css gelen ilk paragrafı seçmek için bu tarz p:first-childNeden ilk paragraf bu stili alamıyor p: first-child?

#content p:first-child {color:#4C4C4C; 
font-size:1.2em; 
font-weight:bold; 
line-height:1.8; 
margin-bottom:0.5em;} 


<div id="content"> 
<h1>Welcome</h1> 
    <p>first paragraph</p> 
    <p>second paragraph</p> 
    <p>third paragraph</p> 
</div> 

almayan?

+0

Nedeni IE, sahte öğelerden hoşlanmadı – Luis

cevap

19

önceki cevaplar zaten sorunu (p ebeveyn div ilk çocuğu olmadığı), burada soruna bir çözüm tanımlanmış olsa da, tarayıcınızın bağlı olarak h1 izler ilk p hedef :

h1 + p { /* styles any paragraph that immediately follows a h1 element */ } 
+0

Çok iyi nokta. Onun için şanslıysa, tahtada çalışır. +1 –

+0

Eh, bu en iyi saf css yöntemi gibi görünüyordu; Açıkça, ilk paragrafa bir .first (veya herhangi bir şekilde) sınıfının uygulanması çapraz tarayıcı uyumludur. Uyumluluk tamam görünüyor (IE7 ve IE8 için * IE7 gibi bazı problemlerle birlikte hemen hemen tüm IE6 için): http://quirksmode.org/css/contents.html –

3

Seçici, ebeveyninin ilk çocuğu olan herhangi bir p öğesine eşleşir. Bu durumda p, ebeveyninin ikinci çocuğudur. Ben gibi bir etiket gördüğüm kadarıyla ya ilk çocuk değil gerçek içerik olacak - P içeriği, ilk çocuğu değil http://www.w3schools.com/CSS/css_pseudo_classes.asp

23

:first-of-type psuedo selector! Yani, bu ilk paragrafı almak için bu yapardım:

#content p:first-of-type 
0

her zaman sadece her ilk paragrafa bir sınıf atamak Could - tam kanıtı.

p.indent{ 
text-indent:50px; 
    } 
İlgili konular