2012-02-27 12 views
25

Ho un div e in quel div voglio creare un altro div con una classe diversa e hanno l'interno div completamente separato dal div impostazioni CSS esterni.Come applicare i CSS per i bambini solo immediati di una certa classe

Ti piace questa:

<div class="outer"> 
    <div><h1> h1 </h1><div> 
    <div class="inner"> 
     <h2> h2 </h2> 
    </div> 
    <h2> h2 </h2> 
</div> 
.outer h1{ color:blue; } 
.outer h2{ color:red; } 

.inner { height: 111px; } 

Quello che voglio è quello di disinserire il colore rosso dal h2 nel "inner" div

Potrebbe sembrare stupido non solo sovrappeso il colore al bianco qui, ma cosa succede se ho molti più argomenti nel CSS o anche se è dinamico.

Modifica: Suppongo che non sia chiaro, ma quello di cui ho bisogno è in realtà un po 'l'opposto delle risposte che ho ottenuto finora. Ho un div contenitore principale e ha molte impostazioni nel CSS. Ora voglio inserire un div nel main-container senza che abbia nessuna delle impostazioni CSS del contenitore principale.

risposta

40
.outer > h2 { color:red; } 

in questo modo solo il figlio diretto del div esterno ottiene questo valore di colore, dovrebbe risolvere il problema.

+0

ya credo che non sia chiaro. ma quello di cui ho bisogno è in realtà un po 'l'opposto di quello. ho un 'div del main-container 'e ha un sacco di impostazioni nel' css'. ora voglio inserire un 'div' nel' main-container' senza che abbia nessuna delle impostazioni css 'main-container' –

+0

Ci sono alcuni approcci. Uno è specificare un 'color' solo per' .inner h2 {...} '. Questo lascerà tutti gli altri h2 all'interno del controller principale div lo stesso, con solo uno nel suo interno diverso. Un altro è quello di dare l'ultimo h2 una classe, e specificare un colore diverso per esso, e per il controller principale di non provare a stile h2. Ciò comporterà che h2 interiore e tutti gli altri h2 siano uguali, e l'altro h2 con uno stile diverso. Esempi: http://jsfiddle.net/5pvpdfud/ –

+1

[Ci sono quattro diversi combinatori nei CSS3:] (http://www.w3schools.com/css/css_combinators.asp) 1. selettore discendente (spazio): ' .outer h2': Tutti i discendenti 2. Selettore figlio (>): '.outer> h2': Bambino immediato 3. Selettore fratello adiacente (+):' .outer + h2': Fratello germano immediato dallo stesso genitore 4. selettore di fratello generale (~): '.outer ~ h2': Tutti i fratelli dello stesso genitore – Abhijeet

0

Penso che quello che vi serve è

.inner h2 {color: inherit} 
+1

ya penso di aver bisogno dell'esatto opposto e per l'intera classe –

0
.outer .inner * { color: #000; } 

set di tutti gli elementi all'interno del contenitore interno come avere il colore nero.

Demo here

+0

Questa è un'ottima soluzione, ma cosa succede se ho 20 impostazioni e non è solo tag h1? –

+0

Questo codice imposterà tutto in '.outer .inner' a nero. Gioca con la demo che ho collegato a ... tutti i tag cambieranno. – Scott

Problemi correlati