Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

CSS sélection un tag ayant un enfant donné

4 réponses
Avatar
Une Bévue
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>

4 réponses

Avatar
Pierre Maurette
Une Bévue :
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>

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
Avatar
unbewusst
Oui merci beaucoup. En fait dans ce cas c'est déterministe je peux don c ajouter par programmation ce "has_other_tag".
Mais il m'est venu une réflexion à propos de la sélection de s nœuds dans CSS : pourquoi n'ont-ils pas implémenté un sà ©lecteur à la XPATH ?
Avatar
Une Bévue
Le 02/12/2016 à 09:14, Pierre Maurette a écrit :
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) {}

OK merci bien pour cette précision.
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.

oui, c'est ok pour moi cette solution vu que j'utilise ReactJS...
Avatar
Une Bévue
Le 02/12/2016 à 09:14, Pierre Maurette a écrit :
La réponse à ce besoin est dans les tuyaux, ça donnera:
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 ???