2011-09-22 12 views
6

Chciałem nadać elementom div wszystkich elementów tła elementu div. Ale, jak widzę, styl div dzieci nadpisuje styl rodzica, mimo że dziecko nie ma tej właściwości. Na przykład:Wymuszanie używania div dla dzieci do używania stylu rodzica

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> 

Tutaj, jeśli usunę styl div dziecka, działa poprawnie. Myślę, że mój problem może zostać rozwiązany, jeśli zrobiłem to samo z zewnętrznym plikiem css również. Ale, już zrobiłem dokładnie setki divów w ten sposób. Więc, czy jest tak, aby wymusić styl rodzica do stylu potomnym, tylko dla background-color? (Nowy w css)

+1

"Zrobiłem już setki divów dokładnie tak ..." Tak mi przykro. – Larsenal

+0

Przynajmniej coś się dziś nauczyłem :) – user893970

+0

To właściwa postawa. – Larsenal

Odpowiedz

5

Ale, jak widzę, styl styl nadpisać rodzica chid DIV, chociaż dziecko nie miało to własność.

Nie, po prostu domyślnie nie odziedziczą wartości, więc otrzymają taką wartość, jaką mieliby w przeciwnym razie (zwykle jest to transparent).

Możesz (teoretycznie) uzyskać to, co chcesz, korzystając z tła: inherit. To jednak ma wartość problems in older versions of IE.

2

użyć właściwości dziedziczyć na div dziecko:

background:inherit 

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

użyć CSS selektory jak to zrobić tło div dzieci dziedziczą od swoich rodziców:

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; 
} 
Powiązane problemy