Heim > Fragen und Antworten > Hauptteil
Ich versuche, den Stil ungerader Divs innerhalb eines Divs zu ändern. Wenn sich nth-of-type(odd)
in einem anderen Div befindet, wirkt sich das aus irgendeinem Grund auf alle meine Divs aus. Hier ist mein Code für reguläre Divs und ungerade Divs:
.video-entry-summary { width: 214px; height: 210px; margin-left: 10px; float: left; position: relative; overflow: hidden; border: 1px solid black; } .video-entry-summary:nth-of-type(odd) { width: 214px; height: 210px; margin-left: 0px; float: left; position: relative; overflow: hidden; border: 1px solid black; background: #ccc; }
<div id="post-501" class="post-501 post type-post status-publish format-standard hentry category-moto-dz-films tag-news-sub-2"> <div class="video-entry-summary"> video 1 </div> </div> <div id="post-240" class="post-240 post type-post status-publish format-standard hentry category-videos"> <div class="video-entry-summary"> video 2 </div> </div> <div id="post-232" class="post-232 post type-post status-publish format-standard hentry category-videos"> <div class="video-entry-summary"> video 3 </div> </div> <div id="post-223" class="post-223 post type-post status-publish format-standard hentry category-videos"> <div class="video-entry-summary"> video 4 </div> </div>
Aus irgendeinem Grund funktioniert nth-of-type
nicht, wenn es in meine Divs eingepackt ist, aber es funktioniert, wenn sie nicht in irgendwelche Divs eingewickelt sind.
Arbeitsversion, wenn nicht in ein Div eingeschlossen:
.video-entry-summary { width: 214px; height: 210px; margin-left: 10px; float: left; position: relative; overflow: hidden; border: 1px solid black; } .video-entry-summary:nth-of-type(odd) { width: 214px; height: 210px; margin-left: 0px; float: left; position: relative; overflow: hidden; border: 1px solid black; background: #ccc; }
<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>
Wie kann ich dafür sorgen, dass der ursprüngliche Code wie oben funktioniert?
P粉0789451822023-10-24 10:13:28
:nth-of-type()
与 :nth-child()
类似,因为它们必须都来自同一个父级。如果您需要这些包装器 div
,请在这些包装器上使用 :nth-of-type()
:
div.post:nth-of-type(odd) .video-entry-summary { width:214px; height:210px; margin-left:0px; float:left; position:relative; overflow:hidden; border:1px solid black; background:#ccc; }
如果所有同级都是 .post
,请使用 :nth-child()
以避免与 :nth-of-type()
的真正含义:
.post:nth-child(odd) .video-entry-summary { width:214px; height:210px; margin-left:0px; float:left; position:relative; overflow:hidden; border:1px solid black; background:#ccc; }
.video-entry-summary {
width: 214px;
height: 210px;
margin-left: 10px;
float: left;
position: relative;
overflow: hidden;
border: 1px solid black;
}
.post:nth-child(odd) .video-entry-summary {
width: 214px;
height: 210px;
margin-left: 0px;
float: left;
position: relative;
overflow: hidden;
border: 1px solid black;
background: #ccc;
}
video 1
video 2
video 3
video 4