recherche

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

En utilisant uniquement du CSS, ajoutez le style CSS au parent de .apply-style-here (sans la classe .second-stage)

Comment appliquer le style au div parent de .apply-style-here en satisfaisant uniquement cette condition

  1. Le parent de .apply-style-here devrait être un div normal ou sans classe .second-stage
  2. Le parent du parent .apply-style-here ne devrait pas avoir .second-stage Merci
<div class="first-stage">
    <div>
        <div class="apply-style-here">Content</div>
    </div>
</div>

<div class="first-stage">
    <div class="second-stage">
        <div>
            <div class="apply-style-here">Content</div>
        </div>
    </div>
    <div>
        <div class="apply-style-here">Content</div>
    </div>
</div>

Essayez des solutions

/* Result: Put border to all parent of apply-style-here class */
.first-stage:has(div > .apply-style-here) > div {
/*  margin-top: 20px; */
  border: 1px solid red;
}

/* Result: No styles applied at all */
.first-stage:not('div > .second-stage') > div {
  border: 1px solid blue;
}

/* Result: No styles applied at all */
.first-stage:has(div:not('.second-stage') > .apply-style-here) > div {
    border: 1px solid blue;
}

/* Result: Applied to all .apply-style-here even second .second-stage is present */
.first-stage:has(div:not(.second-stage) > .apply-style-here) > div {
    border: 1px solid blue;
}
/* Result: Applied to all .apply-style-here even second .second-stage is present */

.first-stage:has(div:not(.second-stage > .apply-style-here)) > div {
    border: 1px solid blue;
}

P粉798010441P粉798010441561 Il y a quelques jours648

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

  • P粉814160988

    P粉8141609882023-09-12 00:17:50

    En fonction de votre description, les sélecteurs suivants peuvent fonctionner :

    :not(.second-stage) > :not(.second-stage) > .apply-style-here

    :not(.second-stage) > :not(.second-stage) > .apply-style-here {
      border: solid 1px blue;
    }
    <div class="first-stage">
        <div>
            <div class="apply-style-here">Content</div>
        </div>
    </div>
    
    <div class="first-stage">
        <div class="second-stage">
            <div>
                <div class="apply-style-here">Content</div>
            </div>
        </div>
        <div>
            <div class="apply-style-here">Content</div>
        </div>
    </div>

    répondre
    0
  • Annulerrépondre