Warum haben n-te Typ-/n-te Kind-Selektoren keine Auswirkung auf verschachtelte Elemente?
P粉237689596
2023-08-24 16:07:18
<p>Ich versuche, den Stil einer ungeraden Anzahl von Divs zu ändern, die in einem Div verschachtelt sind. Wenn <code>nth-of-type(odd)</code> in einem anderen Div verschachtelt ist, wirkt sich dies aus irgendeinem Grund auf alle Divs aus. Hier ist mein Code für normale Divs und eine ungerade Anzahl von Divs: </p>
<p>
<pre class="brush:css;toolbar:false;">.video-entry-summary {
Breite: 214px;
Höhe: 210px;
Rand links: 10px;
schweben: links;
Position: relativ;
Überlauf versteckt;
Rand: 1 Pixel einfarbig schwarz;
}
.video-entry-summary:nth-of-type(odd) {
Breite: 214px;
Höhe: 210px;
Rand links: 0px;
schweben: links;
Position: relativ;
Überlauf versteckt;
Rand: 1 Pixel einfarbig schwarz;
Hintergrund: #ccc;
}</pre>
<pre class="brush:html;toolbar:false;"><div id="post-501" class="post-501 Beitragstyp-Beitragsstatus-Veröffentlichungsformat-Standard Henry Category-Moto-dz- Filme tag-news-sub-2">
<div class="video-entry-summary">
Video 1
</div>
</div>
<div id="post-240" class="post-240 Beitragstyp-Beitragsstatus-Veröffentlichungsformat-Standard Henry Category-Videos">
<div class="video-entry-summary">
Video 2
</div>
</div>
<div id="post-232" class="post-232 Beitragstyp-Beitragsstatus-Veröffentlichungsformat-Standard Henry Category-Videos">
<div class="video-entry-summary">
Video 3
</div>
</div>
<div id="post-223" class="post-223 Beitragstyp-Beitragsstatus-Veröffentlichungsformat-Standard Henry Category-Videos">
<div class="video-entry-summary">
Video 4
</div>
</div></pre>
</p>
<p>Aus irgendeinem Grund funktioniert <code>nth-of-type</code> nicht, wenn es in einem Div verschachtelt ist, aber es funktioniert, wenn es nicht in einem Div verschachtelt ist. </p>
<p><strong>Arbeitsversion, wenn nicht in einem Div verschachtelt: </strong></p>
<p>
<pre class="brush:css;toolbar:false;">.video-entry-summary {
Breite: 214px;
Höhe: 210px;
Rand links: 10px;
schweben: links;
Position: relativ;
Überlauf versteckt;
Rand: 1 Pixel einfarbig schwarz;
}
.video-entry-summary:nth-of-type(odd) {
Breite: 214px;
Höhe: 210px;
Rand links: 0px;
schweben: links;
Position: relativ;
Überlauf versteckt;
Rand: 1 Pixel einfarbig schwarz;
Hintergrund: #ccc;
}</pre>
<pre class="brush:html;toolbar:false;"><div class="video-entry-summary">
Video 1
</div>
<div class="video-entry-summary">
Video 2
</div>
<div class="video-entry-summary">
Video 3
</div>
<div class="video-entry-summary">
Video 4
</div></pre>
</p>
<p>Wie kann ich den Anfangscode mit dem oben genannten identisch machen? </p>
:nth-of-type()
和:nth-child()
类似,它们都必须来自同一个父元素。如果你需要这些包装的div
,请在这些包装上使用:nth-of-type()
:如果所有的兄弟元素都是
.post
,请使用:nth-child()
来避免与:nth-of-type()
的真正含义混淆: