Discussion:
CSS sélection un tag ayant un enfant donné
(trop ancien pour répondre)
Une Bévue
2016-12-01 22:05:32 UTC
Permalink
Raw Message
est-il possible en css3 de sélection un tag ayant un enfant donné.

j'ai, par exemple une liste de définition imbriquée, ce qui donne :

<dl>
<dt>...</dt>
<dd>...</dd>
<dt>...</dt>
<dd>
<dl>
<dt>...</dt>
<dd>...</dd>
<dt>...</dt>
<dd>...</dd>
</dl>
</dd>
</dl>

je voudrais donc sélectionner le <dd> qui a un enfant <dl> pour lui
changer légérement son style par rapport aux autres <dd>
Pierre Maurette
2016-12-02 08:14:36 UTC
Permalink
Raw Message
Post by Une Bévue
est-il possible en css3 de sélection un tag ayant un enfant donné.
<dl>
<dt>...</dt>
<dd>...</dd>
<dt>...</dt>
<dd>
<dl>
<dt>...</dt>
<dd>...</dd>
<dt>...</dt>
<dd>...</dd>
</dl>
</dd>
</dl>
je voudrais donc sélectionner le <dd> qui a un enfant <dl> pour lui changer
légérement son style par rapport aux autres <dd>
La réponse est négative. C'est un besoin identifié non satisfait en
CSS3.
La réponse à ce besoin est dans les tuyaux, ça donnera:
dd:has(dl) {}
Voyez:
<URL: https://drafts.csswg.org/selectors-4/#relational>
En attendant, vous pouvez:
- Au moment où vous introduisez le fils <dl>, que ce soit à la main ou
par programme, ajouter une classe has_dt (par exemple) à l'élément <dd>
parent.
- Faire la même chose au chargement de la page, c'est tout con en
jQuery par exemple.
--
Pierre Maurette
unbewusst
2016-12-02 08:26:47 UTC
Permalink
Raw Message
Oui merci beaucoup. En fait dans ce cas c'est déterministe je peux donc ajouter par programmation ce "has_other_tag".
Mais il m'est venu une réflexion à propos de la sélection des nœuds dans CSS : pourquoi n'ont-ils pas implémenté un sélecteur à la XPATH ?
Une Bévue
2016-12-03 10:56:07 UTC
Permalink
Raw Message
La réponse est négative. C'est un besoin identifié non satisfait en CSS3.
dd:has(dl) {}
OK merci bien pour cette précision.
<URL: https://drafts.csswg.org/selectors-4/#relational>
- Au moment où vous introduisez le fils <dl>, que ce soit à la main ou
par programme, ajouter une classe has_dt (par exemple) à l'élément <dd>
parent.
- Faire la même chose au chargement de la page, c'est tout con en jQuery
par exemple.
oui, c'est ok pour moi cette solution vu que j'utilise ReactJS...
Une Bévue
2016-12-11 10:50:19 UTC
Permalink
Raw Message
Post by Pierre Maurette
dd:has(dl) {}
bon, c'est vu et intéressant, ce sera pour plus tard donc.
je me damnde pourquoi ce n'est pas xpath qui a été utilisé pour
sélectionner les éléments ???

Loading...