0 votes

CSS Changer le parent d'arrière-plan d'un élément

J'ai un problème : je veux le changer avec du css.

<div class="a">
  <div class="b">
    <span></span>
  </div>
  <div class="c">
   <span></span>
  </div>
  <div class="d">
   <span class="e"></span>
  </div>
</div>

Je veux changer l'arrière-plan de div.b et div.c en utilisant span.e.
Aidez-moi, s'il vous plaît.
Gracias

1voto

Jonathan Sampson Points 121800

La réponse suivante suppose que vous demandez comment utiliser span.e dans le cadre d'un sélecteur afin de modifier les règles relatives aux div.b y div.c . Par exemple :

span.e:parent:prevAll.b { background:red } // concept-code, doesn't actually work

Vous ne pouvez pas faire cela avec le CSS seul, vous devez utiliser quelque chose comme jQuery (javascript) pour gérer cela pour vous. Avec CSS, vous pouvez référencer les enfants à partir des parents, mais pas les parents à partir des enfants. Ou, dans ce cas, les oncles des neveux...

1voto

Kevin Points 8488

Actuellement, le CSS ne peut pas remonter la chaîne (de l'enfant au parent) mais seulement la descendre (du parent à l'enfant). Vous pourriez probablement utiliser jQuery pour faire ce que vous voulez ici, mais vous devriez probablement réécrire le HTML pour que ce ne soit pas difficile.

1voto

DisgruntledGoat Points 21368

Vous ne pouvez pas le faire avec CSS, vous avez besoin de quelque chose comme jQuery. Il est difficile de savoir exactement ce qu'il faut suggérer puisque la façon dont vous voulez que le système fonctionne n'est pas claire, mais ceci devrait vous aider :

$('.e').parents('div').eq(0).addClass('red');

Vous devriez déjà avoir une classe dans votre CSS : .red { background-color: red; } (vous pourriez cependant lui donner un meilleur nom).

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X