2010-04-24 28 views
9

đoạn Tại sao đầu tiên không dùng kiểu này p:first-childTại sao đoạn đầu tiên không dùng kiểu này p: con đầu lòng?

#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> 

Làm thế nào để chọn đoạn đầu tiên từ css?

+0

Nguyên nhân IE không thích các phần tử giả – Luis

Trả lời

19

Trong khi câu trả lời trước đã xác định vấn đề (mà p không phải là đứa con đầu lòng của phụ huynh div), đây là một giải pháp cho vấn đề của bạn, để nhắm mục tiêu các p đầu tiên mà sau một h1, tùy thuộc vào trình duyệt của bạn :

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

Điểm rất tốt. Nếu anh ta may mắn thì sẽ làm việc cho anh ta trên bảng. +1 –

+0

Vâng, đây có vẻ là phương pháp tinh khiết nhất-css; mặc dù rõ ràng là áp dụng một lớp '.first' (hoặc bất kỳ thứ gì) vào đoạn đầu tiên sẽ tương thích với nhiều trình duyệt hơn. Khả năng tương thích có vẻ ổn (đối với hầu hết tất cả trừ IE6, với một số vấn đề đối với IE7 và IE8 * là * IE7): http://quirksmode.org/css/contents.html –

0

nội dung của P không phải là đứa con đầu lòng của mình - từ những gì tôi đã nhìn thấy một thẻ như hoặc sẽ là đứa con đầu lòng không phải là nội dung thực tế.

23

Bạn đang tìm kiếm bộ chọn psuedo :first-of-type! Vì vậy, bạn sẽ thực hiện việc này để nhận được đoạn đầu tiên đó:

#content p:first-of-type 
0

Luôn có thể chỉ định một lớp cho mọi đoạn chứng minh đầy đủ đầu tiên.

p.indent{ 
text-indent:50px; 
    } 
Các vấn đề liên quan