recherche

Maison  >  Questions et réponses  >  le corps du texte

Pourquoi les sélecteurs nième de type/nième enfant ne sont-ils pas valides sur les éléments imbriqués ?

<p>J'essaie de changer le style d'un nombre impair de divs contenus dans un div. Mais le sélecteur de style <code>nth-of-type(odd)</code> pour les divs impairs affectera tous les divs lorsqu'ils sont inclus dans un autre div. Voici mon code pour un div normal et un nombre impair de div : </p> <p><br /></p> <pre class="brush:css;toolbar:false;">.video-entry-summary { largeur : 214 px ; hauteur : 210px ; marge gauche : 10 px ; flotteur : gauche ; position : relative ; débordement caché; bordure : 1px noir uni ; } .video-entry-summary:ntième-de-type(impair) { largeur : 214 px ; hauteur : 210px ; marge gauche : 0px ; flotteur : gauche ; position : relative ; débordement caché; bordure : 1px noir uni ; arrière-plan : #ccc ; }</pré> <pre class="brush:html;toolbar:false;"><div id="post-501" class="post-501 type de message-statut de publication-format de publication-standard henry catégorie-moto-dz- films tag-news-sub-2"> <div class="vidéo-entrée-résumé"> vidéo 1 </div> </div> <div id="post-240" class="post-240 type de publication-statut de publication-format de publication-catégorie de henry standard-vidéos"> <div class="vidéo-entrée-résumé"> vidéo 2 </div> </div> <div id="post-232" class="post-232 type de publication-statut de publication-format de publication-catégorie de henry standard-vidéos"> <div class="vidéo-entrée-résumé"> vidéo 3 </div> </div> <div id="post-223" class="post-223 type de publication-statut de publication-format de publication-catégorie de henry standard-vidéos"> <div class="vidéo-entrée-résumé"> vidéo 4 </div> </div></pré> <p><br /></p> <p>Pour une raison quelconque, les sélecteurs <code>nth-of-type</code> ne fonctionnent pas lorsqu'ils sont inclus dans mon div, mais ils fonctionnent lorsqu'ils ne sont inclus dans aucun div. </p> <p><strong>Version de travail lorsqu'elle n'est pas incluse dans un div : </strong></p> <p><br /></p> <pre class="brush:css;toolbar:false;">.video-entry-summary { largeur : 214 px ; hauteur : 210px ; marge gauche : 10 px ; flotteur : gauche ; position : relative ; débordement caché; bordure : 1px noir uni ; } .video-entry-summary:ntième-de-type(impair) { largeur : 214 px ; hauteur : 210px ; marge gauche : 0px ; flotteur : gauche ; position : relative ; débordement caché; bordure : 1px noir uni ; arrière-plan : #ccc ; }</pré> <pre class="brush:html;toolbar:false;"><div class="video-entry-summary"> vidéo 1 </div> <div class="vidéo-entrée-résumé"> vidéo 2 </div> <div class="vidéo-entrée-résumé"> vidéo 3 </div> <div class="vidéo-entrée-résumé"> vidéo 4 </div></pre> <p><br /></p> <p>Comment puis-je rendre le code initial identique à celui ci-dessus ? </p>
P粉662802882P粉662802882463 Il y a quelques jours565

répondre à tous(1)je répondrai

  • P粉785522400

    P粉7855224002023-08-25 13:02:13

    :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; 
    }

    Si tous les éléments frères et sœurs sont le vrai sens de .post,则应该使用:nth-child()来避免与:nth-of-type()Confus :

    .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;
    }
    <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>

    répondre
    0
  • Annulerrépondre