Zum Beispiel:
div > p.some_class {
/* Some declarations */
}
Was genau bedeutet das >
Zeichen?
Zum Beispiel:
div > p.some_class {
/* Some declarations */
}
Was genau bedeutet das >
Zeichen?
Antworten:
>
ist der Kinderkombinator , der manchmal fälschlicherweise als direkter Nachkommenkombinator bezeichnet wird. 1
Das bedeutet, dass der Selektor div > p.some_class
nur Absätze auswählt .some_class
, die direkt in a verschachtelt sinddiv
, und keine Absätze, die weiter darin verschachtelt sind.
Eine Illustration:
<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>
Was ist ausgewählt und was nicht:
Ausgewählt
Dies p.some_class
befindet sich direkt innerhalb von div
, daher wird eine Eltern-Kind-Beziehung zwischen beiden Elementen hergestellt.
Nicht gewählt
Dies p.some_class
wird durch ein enthaltenes blockquote
in dem div
, anstatt das div
selbst. Obwohl dies p.some_class
ein Nachkomme von ist div
, ist es kein Kind; Es ist ein Enkelkind.
Folglich div > p.some_class
wird dieses Element zwar nicht übereinstimmen, es div p.some_class
wird jedoch stattdessen der Nachkommen-Kombinator verwendet.
1 Viele Leute gehen weiter, um es "direktes Kind" oder "unmittelbares Kind" zu nennen, aber das ist völlig unnötig (und für mich unglaublich ärgerlich), weil ein untergeordnetes Element per Definition sowieso unmittelbar ist und sie genau dasselbe bedeuten. Es gibt kein "indirektes Kind".
>
(Größer als Vorzeichen) ist ein CSS-Kombinator.
Ein Kombinator erklärt die Beziehung zwischen den Selektoren.
Ein CSS-Selektor kann mehr als einen einfachen Selektor enthalten. Zwischen den einfachen Selektoren können wir einen Kombinator einfügen.
In CSS3 gibt es vier verschiedene Kombinatoren:
Hinweis: <
ist in CSS-Selektoren nicht gültig.
Zum Beispiel:
<!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>
Ausgabe:
.entry-content > * {"code" }
das folgt .entry-content {"other code" }
? Deckt nicht .entry-content > *
alle Kinder von ab entry-content
?
Wie andere erwähnen, ist es ein Kinderselektor. Hier ist der entsprechende Link.
<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;
}
Alle direkten Kinder, <p>
mit denen sie zusammen sind, .some_class
würden den Stil auf sie anwenden.
(Child Selector) wurde in CSS2 eingeführt. div p {} wählt alle p-Elemente aus, die von div-Elementen abgeleitet sind, während div> p nur untergeordnete p-Elemente auswählt, nicht Enkelkinder, Urenkelkinder usw.
<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>
Weitere Informationen zu CSS Ce [Lektoren und deren Verwendung finden Sie in meinem Blog, in CSS- Selektoren und in CSS3-Selektoren
Der Selektor mit dem größeren Vorzeichen (>) in CSS bedeutet, dass der Selektor rechts ein direkter Nachkomme / Kind von allem ist, was links ist.
Ein Beispiel:
article > p { }
Bedeutet nur, einen Absatz zu formatieren, der nach einem Artikel steht.
#something a
wäre ein Kinderwähler.