2011-09-22 23 views
6

Tôi muốn cung cấp cho tất cả các phần tử div của trẻ có màu nền của div mẹ. Nhưng, như tôi thấy, phong cách của các div trẻ em ghi đè phong cách của cha mẹ mặc dù trẻ không có tài sản đó. Ví dụ:Buộc các div con sử dụng kiểu gốc của phụ huynh

Parent's div 
<div style="background-color:#ADADAD;"> 
some codes here... 
child's div 
<div style="position:absolute;font-size:12px; left:600px;top:100px;"> 
again some codes... 
</div></div> 

Ở đây, nếu tôi xóa kiểu div con, nó hoạt động tốt. Tôi nghĩ rằng vấn đề của tôi có thể được giải quyết nếu tôi đã làm điều tương tự với tập tin css bên ngoài cũng có. Nhưng, tôi đã thực hiện hàng trăm div chính xác như thế này. Vì vậy, có anyway để buộc phong cách của cha mẹ để phong cách trẻ em, chỉ cần cho màu nền? (Mới trong css)

+1

"Tôi đã thực hiện hàng trăm div chính xác như thế này ..." Tôi rất, rất tiếc. – Larsenal

+0

Ít nhất, tôi đã học được điều gì đó ngày hôm nay :) – user893970

+0

Đó là thái độ đúng đắn. – Larsenal

Trả lời

5

Nhưng, như tôi thấy, phong cách của chid div ghi đè lên phong cách của cha mẹ ngay cả khi trẻ em không có bất động sản.

Không, chúng chỉ không kế thừa giá trị theo mặc định, vì vậy, chúng sẽ nhận được bất kỳ giá trị nào mà chúng sẽ có (thường là transparent).

Bạn có thể (theo lý thuyết) nhận được những gì bạn muốn với màu nền: inherit. Tuy nhiên, điều đó có problems in older versions of IE.

2

Sử dụng tài sản kế thừa trên div con:

background:inherit 

<div style="position:absolute;font-size:12px; left:600px;top:100px; background:inherit"> 
2

selectors Sử dụng css như thế này để làm cho nền của div con của thừa kế từ cha mẹ của họ:

Parent's div 
<div id="thisparticulardiv"> 
some codes here... 
child's div 
<div class="childrendiv"> 
again some codes... 
</div></div> 

CSS:

#thisparticulardiv { 
    background-color:#ADADAD; 
    ... 
} 

#thisparticulardiv div { 
    background: inherit; 
    position:absolute; 
    font-size:12px; 
    left:600px; 
    top:100px; 
} 
Các vấn đề liên quan