Per esempio:
div > p.some_class {
/* Some declarations */
}
Cosa significa esattamente il >
segno?
Per esempio:
div > p.some_class {
/* Some declarations */
}
Cosa significa esattamente il >
segno?
Risposte:
>
è il combinatore figlio , a volte erroneamente chiamato combinatore diretto discendente. 1
Ciò significa che il selettore div > p.some_class
seleziona solo i paragrafi .some_class
nidificati direttamente all'interno di a div
e non i paragrafi nidificati ulteriormente all'interno.
Un'illustrazione:
<div>
<p class="some_class">Some text here</p> <!-- Selected [1] -->
<blockquote>
<p class="some_class">More text here</p> <!-- Not selected [2] -->
</blockquote>
</div>
Cosa è selezionato e cosa no:
Selezionato
Si p.some_class
trova direttamente all'interno di div
, quindi viene stabilita una relazione genitore-figlio tra entrambi gli elementi.
Non selezionato
Questo p.some_class
è contenuto blockquote
all'interno di div
, piuttosto che su div
se stesso. Sebbene questo p.some_class
sia un discendente del div
, non è un bambino; è un nipote.
Di conseguenza, sebbene div > p.some_class
non corrisponda a questo elemento, lo div p.some_class
farà, usando invece il combinatore discendente .
1 Molte persone vanno oltre per chiamarlo "figlio diretto" o "figlio immediato", ma è del tutto superfluo (e incredibilmente fastidioso per me), perché un elemento figlio è comunque immediato per definizione , quindi significano esattamente la stessa cosa. Non esiste un "bambino indiretto".
>
(maggiore di segno) è un combinatore CSS.
Un combinatore è qualcosa che spiega la relazione tra i selettori.
Un selettore CSS può contenere più di un semplice selettore. Tra i selettori semplici, possiamo includere un combinatore.
Esistono quattro diversi combinatori in CSS3:
Nota: <
non è valido nei selettori CSS.
Per esempio:
<!DOCTYPE html>
<html>
<head>
<style>
div > p {
background-color: yellow;
}
</style>
</head>
<body>
<div>
<p>Paragraph 1 in the div.</p>
<p>Paragraph 2 in the div.</p>
<span><p>Paragraph 3 in the div.</p></span> <!-- not Child but Descendant -->
</div>
<p>Paragraph 4. Not in a div.</p>
<p>Paragraph 5. Not in a div.</p>
</body>
</html>
Produzione:
.entry-content > * {"code" }
cui è seguito .entry-content {"other code" }
? Non .entry-content > *
copre tutti i bambini di entry-content
?
Come altri citano, è un selettore figlio. Ecco il link appropriato.
<div>
<p class="some_class">lohrem text (it will be of red color )</p>
<div>
<p class="some_class">lohrem text (it will NOT be of red color)</p>
</div>
<p class="some_class">lohrem text (it will be of red color )</p>
</div>
css
div > p.some_class{
color:red;
}
Tutti i bambini diretti che stanno <p>
con .some_class
otterrebbero lo stile applicato a loro.
(selettore figlio) è stato introdotto in css2. div p {} seleziona tutti gli elementi p decedenti degli elementi div, mentre div> p seleziona solo gli elementi p figlio, non nipote, pronipote su così via.
<style>
div p{ color:red } /* match both p*/
div > p{ color:blue } /* match only first p*/
</style>
<div>
<p>para tag, child and decedent of p.</p>
<ul>
<li>
<p>para inside list. </p>
</li>
</ul>
</div>
Per ulteriori informazioni su CSS Ce [lettori e il loro utilizzo, consultare il mio blog, i selettori CSS e i selettori CSS3
Il selettore di segno più grande (>) nei CSS significa che il selettore a destra è un discendente / figlio diretto di tutto ciò che è a sinistra.
Un esempio:
article > p { }
Significa solo lo stile di un paragrafo che segue un articolo.
#something a
sarebbe un selezionatore di bambini.