Existe-t-il un sélecteur de parents en CSS ?
P粉270842688
2023-08-21 10:49:24
<p>Comment sélectionner l'élément <code><li></code> qui est le parent direct de l'élément d'ancrage ? </p>
<p>Par exemple, mon CSS pourrait ressembler à ceci : </p>
<pre class="brush:php;toolbar:false;">li <
Attribut : valeur ;
}</pré>
<p>Évidemment, il est possible d'y parvenir en utilisant JavaScript, mais j'espérais une solution de contournement native CSS niveau 2. </p>
<p>Le menu que j'essaie de styliser est généré par un CMS, je ne peux donc pas déplacer l'élément actif dans l'élément <code><li></code> le module de création de menu, mais je ne veux pas faire ça). </p>
Vous pouvez utiliser
:has()
pseudo-classes CSSMais il a une prise en charge par navigateur limitée (actuellement non prise en charge par Firefox).
Actuellement, il n'existe aucun moyen en CSS de sélectionner le parent d'un élément dans tous les navigateurs.
Selectors Level 4 Working Draft comprend une
:has()
pseudo-classe qui fournira cette fonctionnalité. Ce serait similaire à l'implémentation de jQuery, mais actuellement non pris en charge par Firefox.Firefox est le seul navigateur majeur qui ne le prend actuellement pas en charge par défaut .
En attendant, si vous devez sélectionner un élément parent avec une prise en charge complète de tous les navigateurs, vous devrez utiliser JavaScript dans Firefox.