Est-il possible de définir un style CSS pour un élément, qui n'est appliqué que si l'élément correspondant contient un élément spécifique (comme l'élément enfant direct)?
Je pense que cela s'explique mieux à l'aide d'un exemple.
Remarque : J'essaie de styliser l'élément parent , en fonction des éléments enfants qu'il contient.
<style>
/* note this is invalid syntax. I'm using the non-existing
":containing" pseudo-class to show what I want to achieve. */
div:containing div.a { border: solid 3px red; }
div:containing div.b { border: solid 3px blue; }
</style>
<!-- the following div should have a red border because
if contains a div with class="a" -->
<div>
<div class="a"></div>
</div>
<!-- the following div should have a blue border -->
<div>
<div class="b"></div>
</div>
Note 2 : Je sais que je peux y arriver en utilisant javascript, mais je me demandais simplement si cela était possible en utilisant des fonctionnalités CSS inconnues (pour moi).
ol < li:nth-child(n+10) { margin-left: 2rem; } ol < li:nth-child(n+100) { margin-left: 3rem; } ol < li:nth-child(n+1000) { margin-left: 4rem; }
dans un monde idéal, cela augmenterait la marge de la ol
personne à charge en fonction du nombre d' li
enfants contenus afin que la marge de gauche ne soit aussi large qu'elle devait être.